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