string []a={"Apple","Pearl","Banana","Carrot"}
Array.sort(a);
int i=Array.BinarySerach(a,"Pearl");
Console.Write(i);
为啥i输出结果为3
pearl不应该在第二个位置吗
Array.sort(a);
之后数组已经排序了,现在的数组已经是
{"Apple",, "Banana", "Carrot", "Pearl"}
Pearl在3的位置上,没毛病。
你既然要输出这个数组在第几个,为什么要重新排序呢?
Array.sort(a);,这句话是给a数组重新排序,所以位置发生了变化,数组顺序0,1,2,3,重新排列的数组"pearl"在最后一位,所以i=3,输出了3