File.ReadLines()。ToList()在具有2个空行的文件上的计数为1?

时间:2019-05-03 16:08:29

标签: c# list file

我正在使用File.ReadLines().ToList()来将常规文本文件读取到List<string>中。

文本文件具有2个空行,如下所示(为清楚起见,在notepad ++中启用了“查看所有字符”):

enter image description here

示例代码:

List<string> lines = null;
try{
    lines = File.ReadLines("C:\path\to\file.txt").ToList();
}catch(Exception e){
    //code here to handle e
}
Console.WriteLine(lines.Count.ToString());
  

打印“ 1 ”到控制台。

我的问题是,当文件有2行时,为什么File.ReadLines().ToList()生成的列表只有Count为1?默认情况下是否只是丢弃文件末尾的空白行? (似乎是这样)

1 个答案:

答案 0 :(得分:2)

谢谢 Hans Passant 。我希望他能在这里发布,但是我现在要继续做,因为这个问题似乎已经接近结束(不确定为什么吗?),我认为这可以帮助其他人在将来。

答案: Notepad ++显示的第二行实际上在文件中不存在。通过在WSL中使用vim打开文件,我可以看到文件中只有一(1)行,仅此而已。

enter image description here