首先,我知道这是this question的副本,但是我无法找到列出的解决方案来为我工作。我知道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.

最佳答案

您所缺少的只是()(OfType是静态扩展方法)

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

关于c# - 具有MatchCollection的Parallel.ForEach,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16528379/

10-13 08:02