我有以下数组:
double[] list = new double[] {0,0,100,100}
为什么如果我搜索29.6
我得到-3
?
Array.BinarySearch(list, 29.6)
我预计+1
或-1
。
返回参数的 Array.BinarySearch() 文档说:
指定数组中指定值的索引(如果找到值)。如果未找到 value 并且 value 小于数组中的一个或多个元素,则为负数,它是大于 value 的第一个元素的索引的按位补码。如果未找到 value 并且 value 大于数组中的任何元素,则为一个负数,它是 (最后一个元素的索引加 1) 的按位补码。
但这对我来说并没有说太多。