c# – 对数组中的BinarySearch感到困惑

我对BinarySearch有点困惑,因为在很多情况下它不起作用.下面的程序显示-5和-1.但它应该显示1和3 am我对吗?

using System;

namespace Binary
{

    class Program
    {
        static void Main()
        {
            int[] array = { 12, 45, 23, 3, 67, 43 };
            int index1 = Array.BinarySearch<int>(array, 45);
            int index2 = Array.BinarySearch<int>(array, 3); 
            Console.WriteLine(index1);
            Console.WriteLine(index2);
        }
    }
}
最佳答案
要使BinarySearch工作,需要对数组进行排序.你不是,所以它不能正常工作.

Quote: “Searches an entire one-dimensional sorted array for a specific element”

转载注明原文:c# – 对数组中的BinarySearch感到困惑 - 代码日志