逐行读取字符c#

时间:2015-10-22 20:49:59

标签: c# newline streamreader

所以我对所有c#的streamreader方法都感到不知所措。我是否可以只读取一行的第一个字母,然后如果该行以我指定的字符开头,那么单独读取所有字母?我遇到困难的部分是当它读取该行的第一个字符时如何跳过一行。如果我逐个字符地阅读它,就像循环直到下一个cr / lf一样?我不能使用readline(),因为有些行我需要逐个字符地阅读,readline()在lf处停止,我只需要在cr / lf对期间转到下一行。

3 个答案:

答案 0 :(得分:1)

你的问题不明确,但是,我想你想要这样的东西(跳过以某些特殊字符开头并处理其余字符的行

foreach(var line in File.ReadLines(filename).Where(line=> !line.StartsWith("#")))
{
    //Process(line);
}

答案 1 :(得分:0)

使用StreamReader.Read method

保留对变量中先前读取的字符的引用,以便识别您是否找到了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);