所以我对所有c#的streamreader方法都感到不知所措。我是否可以只读取一行的第一个字母,然后如果该行以我指定的字符开头,那么单独读取所有字母?我遇到困难的部分是当它读取该行的第一个字符时如何跳过一行。如果我逐个字符地阅读它,就像循环直到下一个cr / lf一样?我不能使用readline(),因为有些行我需要逐个字符地阅读,readline()在lf处停止,我只需要在cr / lf对期间转到下一行。
答案 0 :(得分:1)
你的问题不明确,但是,我想你想要这样的东西(跳过以某些特殊字符开头并处理其余字符的行)
foreach(var line in File.ReadLines(filename).Where(line=> !line.StartsWith("#")))
{
//Process(line);
}
答案 1 :(得分:0)
保留对变量中先前读取的字符的引用,以便识别您是否找到了CR / LF对。
答案 2 :(得分:0)
以下内容应该可以解决问题。
List<string> lines = new List<string>();
using (var file = new StreamReader(fileName))
{
string line = string.empty;
while ((line = file.ReadLine()) != null)
{
if (line[0] == chr)
{
lines.Add(line);
}
}
}
Console.WriteLine(lines.Count);