使用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_,但这导致没有任何值被添加到我的数组中。
要跳过这些行,需要更改什么?
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()´?返回的字符串不包含换行符。