首先,我知道这是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.
答案 0 :(得分:4)
您缺少的是()
(OfType是一种静态扩展方法)
System.Threading.Tasks.Parallel.ForEach(startMatches.OfType<Match>(), m =>
{
// do stuff with m
});