我一直在尝试搜索我可以为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()作为答案。但是,词语不能成为一个令人难忘的词汇。
答案 0 :(得分:9)
您可以看到Words
类型是非通用的可枚举类型 - 因此编译器无法推断ForEach<TSource>
的泛型类型参数。您可以使用OfType<Range>
:
Parallel.ForEach(selection.Words.OfType<Microsoft.Office.Interop.Word.Range>(), range =>
{
});
答案 1 :(得分:-1)
您是否尝试过明确指定类型。
var list = new List<string>();
Parallel.ForEach<string>(list, (s) => s.Trim());