在枚举之前,在枚举上调用.Any()有什么好处吗?例如(授予该列表是IEnumerable):
if(list != null && list.Any())
{
foreach(var item in list)
{
// do stuff
}
}
我怀疑它没有,但我宁愿确定。
答案 0 :(得分:2)
没有真正的好处,但在这里调用Any
可能会有不利的后果,因为你可以枚举两次。
空检查应该足够了。 foreach将为您照顾其余部分。
答案 1 :(得分:0)
不,不是真的。如果列表为空,则foreach循环将不会迭代。
if(list != null)
{
foreach(var item in list)
{
// do stuff
}
}
答案 2 :(得分:0)
不,没有真正的好处。
如果列表不为null,但为空,则foreach将没有问题(即它不会抛出异常,也不会枚举空列表)。 进行空检查就足够了。