LINQ .Any VS .Exists-有什么区别?
在集合上使用LINQ,以下代码行之间有什么区别?
if(!coll.Any(i => i.Value))
和
if(!coll.Exists(i => i.Value))
当我反汇编时.Exists
,似乎没有代码。
有人知道为什么那里没有代码吗?
回答:
参阅文件
List.Exists(对象方法-MSDN)
确定List(T)是否包含与指定谓词定义的条件匹配的元素。
从.NET 2.0开始存在,因此在LINQ之前存在。打算与Predicate
一起使用,但是lambda表达式是向后兼容的。另外,只有List有这个(甚至没有IList)
IEnumerable.Any(扩展方法-
MSDN)
确定序列中的任何元素是否满足条件。
这是.NET 3.5中的新增功能,并使用Func(TSource,bool)作为参数,因此,该功能旨在与lambda表达式和LINQ一起使用。
在行为上,这些是相同的。
以上是 LINQ .Any VS .Exists-有什么区别? 的全部内容, 来源链接: utcz.com/qa/399103.html