哪一个是更快的binarysearch或indexof?

Bes*_*oun 1 c# performance arraylist indexof binary-search

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

Jes*_*ood 5

文档为您解释了一切.

来自ArrayList.BinarySearch:

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

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

来自ArrayList.IndexOf

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