使用 Visual Studio 检测到额外的换行符

Extra Line Breaks Detected with Visual Studio

当我在 visual studio 中读取我的 txt 文件时,它显示额外的换行符,但是当我用记事本打开同一个文件时它不显示那些换行符。

我正在使用 System.IO.File

阅读我的文件
var file = File.ReadAllLines(AppDomain.CurrentDomain.BaseDirectory + "myfile.txt")

如何在没有不需要的换行符的情况下读取文件。 不想替换 .replace("\r\n","") 因为它也会替换所有真正的换行符。

编辑 刚试过 NotePad++ 用记事本++

enter image description here

现在使用普通记事本

enter image description here

如果您询问如何替换重复的换行符,传统的(懒惰且错误的)方法是:

text=text.Replace("\r\n\r\n","\r\n");

你的Notepad++截图很清楚地显示了问题。您在某些行的末尾有多个换行符。(换句话说,空白行)。

 var alllines =  File.ReadAllLines(AppDomain.CurrentDomain.BaseDirectory +  "myfile.txt")

 var validlines = alllines.Where(l=>!string.IsNullOrEmpty(l));

现在在代码中使用有效行而不是所有行