4

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

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

        });

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

我现在一直在寻找美好的时光,但所有这些都只是显示 object.AsEnumerable() 作为答案。selection.Words 不能变成可数,但是。

4

2 回答 2

10

您可以看到该Words类型是非泛型可枚举类型——因此编译器无法推断ForEach<TSource>. 您可以使用以下命令将集合变成类型化的泛型集合OfType<Range>

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

    });
于 2013-10-04T02:21:26.243 回答
1

您是否尝试过像这样明确指定类型。

var list = new List<string>();
Parallel.ForEach<string>(list, (s) => s.Trim());
于 2013-10-04T02:22:51.093 回答