Kurkula
Kurkula

Reputation: 6762

c# parallel foreach loop finding index

I am trying to read all lines in a text file and planning to display each line info. How can I find the index for each item inside loop?

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();

Upvotes: 29

Views: 25553

Answers (1)

Curtis Lusmore
Curtis Lusmore

Reputation: 1872

There is another overload for Parallel.ForEach that gives you the index.

Parallel.ForEach(list_lines, (line, state, index) =>
    {
        Console.WriteLine(index);
        Console.WriteLine(list_lines[(int)index]); // The type of the `index` is Long.
    });     

Upvotes: 49

Related Questions