c# 列表方法:ElementAt(index) vs Find(content)

本文关键字:vs Find content 列表 index ElementAt 方法 | 更新日期: 2023-09-27 18:35:05

我目前正在构建一个非常依赖效率的数据结构。

任何人都可以为我提供有关如何查找(项目 => 项的资源。X = myObject.Property) 方法真的有效吗?它是否在所有元素中线性迭代,直到找到元素?

如果我知道myObject的索引并且我使用ElementAt(index)怎么办?

请问这两者中哪个是最有效的?

c# 列表方法:ElementAt(index) vs Find(content)

来自MSDN documentation on List<T>.Find

此方法

执行线性搜索;因此,此方法是 O(n) 操作,其中 n 是 Count。

我想ElementAt针对IList进行了优化,并将进行直接索引。但是,既然您显然正在使用List具体类型的此对象,为什么不直接做一个索引呢?喜欢这个:

var result = list[index];

如果您已经知道索引,则搜索没有意义。直接去吧。