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