连接String时遇到格式问题

时间:2015-04-04 19:11:45

标签: c# string concat

文件格式如下所示

abc def 
    ghy jk
          lmp

这是我的代码

StreamReader file = new StreamReader("./test.txt");
string afterreplace = "";
while ((line = file.ReadLine()) != null)
{
    Console.WriteLine(line);
    afterreplace = String.Concat(afterreplace, line); 
}
Console.WriteLine(afterreplace);

但是我在输出中得到了这个

与原始文件不匹配

abc def     ghy jk      lmp

原因我可以添加一些换行符,我真的想知道它为什么会导致

String.Concat()会忽略\n吗?我怎么能达到我的期望?

1 个答案:

答案 0 :(得分:1)

这不是string.Concat,而是file.ReadLine()。但是你没有直接在输出中注意到,因为Console.WriteLine会添加一个额外的换行符。

来自StreamReader.ReadLine(强调我的):

  

<强>说明

     

一行被定义为字符序列,后跟换行符(“\ n”),回车符(“\ r”)或回车符后紧跟换行符号(“\ r \ nn “)。 返回的字符串不包含终止回车符或换行符。 [...]