LINQ Ring:大量集合的Any()vs Contains()
给定大量的对象,以下各项之间是否存在性能差异?
集合包含:
myCollection.Contains(myElement)Enumerable.Any:
myCollection.Any(currentElement => currentElement == myElement)回答:
Contains()是实例方法,其性能在很大程度上取决于集合本身。例如,Contains()a List是O(n),而Contains()a
HashSet是O(1)。
Any()是扩展方法,将简单地遍历集合,将委托应用于每个对象。因此,它的复杂度为O(n)。
Any()但是更灵活,因为您可以传递一个委托。Contains()只能接受一个对象。
以上是 LINQ Ring:大量集合的Any()vs Contains() 的全部内容, 来源链接: utcz.com/qa/404634.html

