visual studio 2013-VS2013/C#控制台输出被打乱

本文关键字:输出 控制台 studio 2013-VS2013 visual | 更新日期: 2023-09-27 18:00:06

我有一个程序在循环中调用这个方法大约100倍:

 private void writeLog (string text)
    {
        txtConsole.AppendText(text);
        txtConsole.AppendText(System.Environment.NewLine);
        Console.WriteLine(text);
        Console.WriteLine(System.Environment.NewLine);
    }

txtConsole是一个标准的多行TextBox。我希望在运行此循环之后,txtConsole和标准控制台都将具有相同的内容。我所看到的是,标准控制台是一片混乱。

以下是循环后txtConsole结束的示例(这正是我想要的):

SFB239
Name:   FUNC
Family: SBUS    
Author: 
Load Size:  108
SFB240
Name:   DPRAM   
Family: SBUS    
Author: 
Load Size:  112

标准控制台中的输出为:

Author: 
SFB54

Name:   RALRM

标准控制台中的文本是它应该有的部分(但在循环中要早得多)。所有东西都是同步调用的,但它几乎是异步写入控制台的列表,字符串相互覆盖。

visual studio 2013-VS2013/C#控制台输出被打乱

发现问题,我正在写入控制台的文本包含许多无法打印的低ASCII字符。一旦我用String.Empty替换了这些字符来净化文本,它就正常工作了。