文件格式如下所示
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
吗?我怎么能达到我的期望?
答案 0 :(得分:1)
这不是string.Concat
,而是file.ReadLine()
。但是你没有直接在输出中注意到,因为Console.WriteLine
会添加一个额外的换行符。
来自StreamReader.ReadLine(强调我的):
<强>说明强>
一行被定义为字符序列,后跟换行符(“\ n”),回车符(“\ r”)或回车符后紧跟换行符号(“\ r \ nn “)。 返回的字符串不包含终止回车符或换行符。 [...]