2016-09-26 2 views
5

私は、テキストファイル内のすべての行を読み込み、各行情報を表示しようとしています。ループ内の各アイテムのインデックスはどのようにして見つけることができますか?c#並列foreachループ検索インデックス

string[] lines = File.ReadAllLines("MyFile.txt"); 
    List<string> list_lines = new List<string>(lines); 
    Parallel.ForEach(list_lines, (line, index) => 
     { 
     Console.WriteLine(index); 
    // Console.WriteLine(list_lines[index]); 
     Console.WriteLine(list_lines[0]); 
     }); 
     Console.ReadLine(); 
+1

「インデックス」には何がありますか? –

+0

ここで、indexはデバッグ時にtrueまたはfalseを示します。 – Kurkula

+2

ああ、Curtisが言うように、 'index'はコールバックの3番目のパラメータであり、2番目のパラメータではありません。 –

答えて

7

あなたにインデックスを与えるParallel.ForEachための別のオーバーロードがあります。 https://msdn.microsoft.com/en-us/library/dd783359(v=vs.110).aspx

Parallel.ForEach(list_lines, (line, state, index) => 
    { 
     Console.WriteLine(index); 
     Console.WriteLine(list_lines[index]); 
    }); 
+0

'list_lines [index]'の代わりに、コールバック引数( 'line')を使用する方が良いでしょうか? –

+0

これは、行が構文上および意味上有効であることを示す単なる例です( 'index'は正しい型であり、意味的に現在の行のインデックスを表します)。 –