次の配列があります。
double[] list = new double[] {0,0,100,100}
検索する29.6
と が表示されるのはなぜ-3
ですか?
Array.BinarySearch(list, 29.6)
+1
またはを期待してい-1
ました。
戻りパラメーターの Array.BinarySearch() ドキュメントには、次のように記載されています。
値が見つかった場合、指定された配列内の指定された値のインデックス。value が見つからず、value が配列内の 1 つ以上の要素より小さい場合、value より大きい最初の要素のインデックスのビットごとの補数である負の数。value が見つからず、value が array 内のどの要素よりも大きい場合は、(最後の要素のインデックス + 1) のビットごとの補数である負の数。
しかし、それは私にはあまり言いません。