List<T>
如果项目不存在,我对 BinarySearch 方法感到困惑。
我有
List<long> theList = {1, 3, 5, ...}.
theList.BInarySearch(0)
返回 0,并按theList.BInarySearch(3)
预期返回 1。
但是,theList.BinarySearch(1)
返回-2,而不是我期望的 -1 。MSDN手册说:“返回值:如果找到项目,则排序列表中项目的从零开始的索引;否则,一个负数,它是大于项目的下一个元素的索引的按位补码,或者,如果没有更大的元素,Count 的按位补码。”
“按位补码”?我在这里错过了什么,为什么会这样theList.BinarySearch(1) != -1
?