我在Enumerable.Single
方法时,使用一些反编译程序检查它:
foreach (TSource current in source)
{
if (predicate(current))
{
result = current;
num += 1L;
}
}
if (num > 1L)
{
throw Error.MoreThanOneMatch();
}
在抛出之前遍历所有项目。为什么当num > 1
它不打破?
相似问题