Array.BinarySearch()和缺少的字母

时间:2014-03-01 13:54:39

标签: c# arrays

我只是一个关于Array.BinarySearch()的小问题,以及这个方法在某种程度上看不到或无法识别的字母。

我创建了一个基本数组来尝试我刚刚遇到的这个方法:

        string[] Letters1 = { "q", "j", "i", "o" };
        int index1 = Array.BinarySearch(Letters1, "q");
        Console.WriteLine(index1);
        Console.ReadKey();
        string[] Letters2 = { "i", "q", "o", "a" };
        int index2 = Array.BinarySearch(Letters2, "q");
        Console.WriteLine(index2);
        Console.ReadKey();

不知何故,当开始更改字母及其位置时,它会开始给出错误的结果 就像上面的情况一样......当我在第一个阵列的第一个阵列中有q并且结果是-5并且在下一个阵列中它正确显示时。

1 个答案:

答案 0 :(得分:3)

二进制搜索仅适用于 订购的 集合。

  

Array.BinarySearch:使用二进制搜索算法搜索一维已排序数组中的值。