Parallel.ForEach给出了错误

ism*_*ike 2 c# parallel.foreach

我一直在尝试搜索我可以为Parallel.ForEach循环做些什么:

        selection.Words is Microsoft.Office.Interop.Word.Selection;
        //range is supposed to be a word.Range
        Parallel.ForEach(selection.Words, range =>
        {

        });
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误,无法从用法中推断出方法" System.Threading.Tasks.Parallel.ForEach(System.Collections.Concurrent.OrderablePartitioner,System.Action)"的类型参数.请尝试明确指定类型参数. "

我一直在寻找一个美好的时光,但所有这些只是显示object.AsEnumerable()作为答案.然而,词语不能成为一个令人难忘的词汇.

McG*_*gle 9

您可以看到该Words类型是非泛型可枚举的 - 因此编译器无法推断泛型类型参数ForEach<TSource>.您可以使用以下方法将集合转换为类型化的泛型集合OfType<Range>:

Parallel.ForEach(selection.Words.OfType<Microsoft.Office.Interop.Word.Range>(), range =>
    {

    });
Run Code Online (Sandbox Code Playgroud)

  • `OfType`是`IEnumerable`的扩展,所以`Words`不是`IEnumerable`,或者你的`using`语句中没有包含`System.Linq`. (3认同)