VS2013 / C# 控制台输出加扰
VS2013 / C# Console Output Scrambled
我有一个程序在循环中调用此方法大约 100 次:
private void writeLog (string text)
{
txtConsole.AppendText(text);
txtConsole.AppendText(System.Environment.NewLine);
Console.WriteLine(text);
Console.WriteLine(System.Environment.NewLine);
}
txtConsole
是一个标准的多行文本框。我希望在这个循环是 运行 之后,txtConsole
和标准控制台将具有相同的内容。我看到的是标准控制台一团糟。
下面是循环后txtConsole
结束的例子(这就是我想要的):
SFB239
Name: FUNC
Family: SBUS
Author:
Load Size: 108
SFB240
Name: DPRAM
Family: SBUS
Author:
Load Size: 112
标准控制台的输出是:
Author:
SFB54
Name: RALRM
标准控制台中的文本是它应该具有的点点滴滴(但在循环中更早)。一切都被同步调用,但几乎列表控制台正在被异步写入,并且字符串正在相互覆盖。
发现问题了,我写到控制台的文本包含很多无法打印的低 ASCII 字符。一旦我通过用 String.Empty 替换这些字符来清理文本,它就可以正常工作。
我有一个程序在循环中调用此方法大约 100 次:
private void writeLog (string text)
{
txtConsole.AppendText(text);
txtConsole.AppendText(System.Environment.NewLine);
Console.WriteLine(text);
Console.WriteLine(System.Environment.NewLine);
}
txtConsole
是一个标准的多行文本框。我希望在这个循环是 运行 之后,txtConsole
和标准控制台将具有相同的内容。我看到的是标准控制台一团糟。
下面是循环后txtConsole
结束的例子(这就是我想要的):
SFB239
Name: FUNC
Family: SBUS
Author:
Load Size: 108
SFB240
Name: DPRAM
Family: SBUS
Author:
Load Size: 112
标准控制台的输出是:
Author:
SFB54
Name: RALRM
标准控制台中的文本是它应该具有的点点滴滴(但在循环中更早)。一切都被同步调用,但几乎列表控制台正在被异步写入,并且字符串正在相互覆盖。
发现问题了,我写到控制台的文本包含很多无法打印的低 ASCII 字符。一旦我通过用 String.Empty 替换这些字符来清理文本,它就可以正常工作。