我对StringBuilder
中的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
客户端,它通过Host中的处理获取行值。
当我订阅它的事件被触发并且它获得字符串值StringBuffer
并将其打印在文件中时。写入文件的方法存在于客户端。我的事件在客户端触发,但StringBuilder
值未打印在文件中。有人可以帮我解决这个问题。
答案 0 :(得分: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();
}