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

回到顶部