0

StringBuilder我对in有疑问C#。我有生成数百万行数据的过程。我StringBuilder用作缓冲区。因此,每当我得到 20000 行并打开文件并将数据转储到文件中时。每 20000 行我将数据转储到文件中。现在为此我从处理中得到一行,所以我所做的是将数据附加到StringBuilder对象(缓冲区)的新行中。但是当我使用ToString()方法时,StringBuilder它不会将数据转换为String.

public static stringBuilder Message = new StringBuilder();   

Host

for(int i=0; i<20000; i++)
    string Lines = " 20000 Data lines one by one appended";

    Message.AppendLine(Lines);
    Event(EventName, Message.ToString());

Client

Void FileWrite(String Message)
{
     //Stream Writer to write the data into file.
     writeToFile.Write(Message);
     writeToFile.Flush();
}

在这里,我的客户端是WCF从主机中的处理中获取行值的客户端。当我的事件被订阅时,它被触发并获取字符串值StringBuffer并将其打印在文件中。写入文件的方法存在于客户端。我的事件是在客户端触发的,但该StringBuilder值未打印在文件中。有人可以帮我解决这个问题。

4

1 回答 1

0

尝试使用System.Environment.NewLine更改您的代码以执行类似的操作

for(int i=0;i<20000;i++)
    string Lines = " 20000 Data lines one by one appended"+System.Environment.NewLine;
    Message.AppendLine(Lines);
    Event( EventName, Message.ToString());

    Client:
    Void FileWrite(String Message)
    {
     //Stream Writer to write the data into file.
     writeToFile.Write(Message);
     writeToFile.Flush();
    }
于 2013-05-14T01:59:18.713 回答