如何在PLinq ForAll获取元素索引

时间:2015-10-30 19:42:51

标签: c# linq ienumerable plinq

我有以下代码:

line.Split(' ').AsParallel().ForAll(word =>
{
    // How to get element index?
}

如何获取当前元素的索引?有可能吗?

2 个答案:

答案 0 :(得分:4)

有一个overload of Select可供您访问索引。

line.Split(' ')
    .AsParallel()
    .Select((w, i) => new { Index = i, Word = w })
    .ForAll(x => ...);

答案 1 :(得分:0)

而是使用可以提供索引的Parallel.Foreach

Parallel.ForEach(line.Split(' '),(word,state,index) =>
{

});

请注意,这不是plinq。它需要导入System.Threading.Tasks