C# 并行 foreach 循环查找索引。

28
我想要读取文本文件中的所有行,并打算显示每一行的信息。如何在循环内找到每个项目的索引?
我试图阅读文本文件中的所有行,并计划显示每行信息。在循环内如何找到每个项的索引?
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
你所使用的 index 有什么问题? - Ben Voigt
在调试时,索引会显示真或假。 - Kurkula
4
噢,因为正如Curtis所说,“index”是回调函数的第三个参数,而不是第二个。 - Ben Voigt
1个回答

47

Parallel.ForEach还有另一个重载,可以给出索引。

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

1
使用回调参数(line)代替 list_lines[index],这样不是更好吗? - Ben Voigt
1
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Curtis Lusmore
可能是我正在寻找的,一旦我试过了,我会再联系你。 - Neeta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接