使用Streamreader跳过C#中的行时出现问题

本文关键字:问题 Streamreader 跳过 使用 | 更新日期: 2023-09-27 17:58:15

我在C#中使用Streamreader读取文件时遇到问题,其中我正在读取的文件中的换行符也被读取到我的程序中,并在代码中进一步引起问题。

下面是我试图读取的文件的一个例子

Example,1,2,3
    <--- // Trying to skip these lines.
    <--- // Trying to skip these lines.
// MY COMMENTS.

下面是我目前用来检查换行符的代码。

if (line.StartsWith("//") || 
    line.StartsWith("'r'n") || 
    line.StartsWith("'n") || 
    line.StartsWith("'r") || 
    line.StartsWith(" ") || 
    line.StartsWith(Environment.NewLine) || 
    line.StartsWith(Environment.NewLine) || 
    line.StartsWith($" {Environment.NewLine}")) {
    // SKIP THE LINE.
    break;
}
// ADD TO ARRAY

我已经尝试在CCD_ 4中检查CCD_,但这导致没有任何值被添加到我的数组中。

要跳过这些行,需要更改什么?

使用Streamreader跳过C#中的行时出现问题

https://msdn.microsoft.com/en-us/library/system.io.streamreader.readline(v=vs.110).aspx

一行被定义为后面跟着换行符的一系列字符("''n")、回车("''r")或立即回车然后是换行符("''r''n")返回的字符串不包含终止回车或换行。返回的如果到达输入流的末尾,则值为null。

这篇文章可能有助于:http://www.dotnetperls.com/empty-string

并尝试使用line.IsNullOrEmpty()(假设您读入的行中没有其他隐藏的空白)。

理论上,每一个字符串都"以零开头",所以"将与你读入的每一行/字符串相匹配

        if ("Hello, World!".StartsWith(""))
            Console.WriteLine("Hello, World!");
        return;

打印报表。

即使你有一个答案(几个),我还是会选择感觉更"干净"的东西。

// Read all your lines:
string source = System.IO.File.ReadAllText(path_to_your_file);
// Split them on new lines, ignore any empty lines
var lines = source.Split(Environment.NewLine.ToCharArray()
                        , StringSplitOptions.RemoveEmptyEntries );
// Iterate over your `lines` here
// ...

您尝试过string.IsNullOrWhiteSpace(stringValue)吗?您使用"StreamReader"吗。ReadLine()´?返回的字符串不包含换行符。