这里没有什么需要修复的。Any()
将迭代枚举,但在第一个元素之后停止(之后返回 true)。
多重枚举主要在两种情况下出现问题:
作为非 Linq 版本,只需迭代一次could请执行下列操作:
bool foundAny= false;
bool isEqual = true;
if(f == null)
throw new ArgumentException();
foreach(var check in f)
{
foundAny = true;
isEqual = isEqual && check(p,p2);
}
if(!foundAny)
throw new ArgumentException();
return isEqual;
但是,如前所述,在您的情况下,这没有什么区别,我会选择对您来说更易读的版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)