哪一个是更快的binarysearch或indexof?

时间:2016-01-23 22:17:17

标签: c# performance arraylist binary-search indexof

我在C#中有一个非常大的字符串ArrayList,并且我定期在这个ArrayList中搜索一个字符串。哪一个更快,使用ArrayList.IndexOf()ArrayList.BinarySearch()?我可以对ArrayList进行排序。

1 个答案:

答案 0 :(得分:5)

文档为您解释了一切。

来自ArrayList.BinarySearch

  

ArrayList 的元素必须已经增加排序   值根据IComparable定义的排序顺序   实施;否则,结果可能不正确。

     

此方法是 O(log n)操作,其中n为Count。

来自ArrayList.IndexOf

  

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