web-dev-qa-db-ja.com

TextReaderから行をループする方法は?

TextReadersourceからの行をループするにはどうすればよいですか?

私は試した

foreach (var line in source)

しかし、エラーが発生しました

「System.IO.TextReader」には「GetEnumerator」のパブリック定義が含まれていないため、foreachステートメントは「System.IO.TextReader」タイプの変数を操作できません。

11
Colonel Panic
string line;
while ((line = myTextReader.ReadLine()) != null)
{
    DoSomethingWith(line);
}
40
Rawling

遅延実行メソッドであるFile.ReadLinesを使用して、次の行をループできます。

foreach (var line in File.ReadLines("test.txt"))
{
}

詳しくは:

http://msdn.Microsoft.com/en-us/library/dd383503.aspx

18
cuongle

ReadLine methodに基づいてこのコードを試すことができます

        string line = null;
        System.IO.TextReader readFile = new StreamReader("...."); //Adjust your path
        while (true)
        {
            line = readFile.ReadLine();
            if (line == null)
            {
                break;    
            }
            MessageBox.Show (line);
        }
        readFile.Close();
        readFile = null;
3
Aghilas Yakoub