1

首先,我知道这是这个问题的重复,但我无法让那里列出的解决方案对我有用。我知道 MatchCollection 没有实现 IEnumerable Parallel.ForEach 使用,因此需要 OfType() ......知道我做错了什么吗?这是我的设置:

MatchCollection startMatches = Regex.Matches(tempRTB.Text, startPattern);

System.Threading.Tasks.Parallel.ForEach(startMatches.OfType<Match>, m =>
{
    // do stuff with m
});

这是我得到的编译错误:

Error   11  The type arguments for method 'System.Threading.Tasks.Parallel.ForEach<TSource>(System.Collections.Generic.IEnumerable<TSource>, System.Action<TSource>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
4

1 回答 1

4

你所缺少的是()(OfType 是一种静态扩展方法)

System.Threading.Tasks.Parallel.ForEach(startMatches.OfType<Match>(), m =>
        {
            // do stuff with m
        });
于 2013-05-13T18:08:46.800 回答