【问题标题】:How to get element index at PLinq ForAll如何在 Plinq ForAll 获取元素索引
【发布时间】:2015-10-30 19:42:50
【问题描述】:

我有以下代码:

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

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

【问题讨论】:

    标签: c# linq ienumerable plinq


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      改用Parallel.Foreach,它也可以提供索引。

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

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

      【讨论】:

        猜你喜欢
        • 2011-07-18
        • 1970-01-01
        • 2011-04-16
        • 1970-01-01
        • 1970-01-01
        • 2014-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多