我正忙于为MCTS 70-536考试做准备。根据考试书籍(Microsoft Press - .NET Framework - Application Development Foundation Self Paced Training Kit 2nd Edition)的说法,这段代码示例:
ArrayList al = new ArrayList();
al.AddRange(new string[] { "Hello", "world", "this", "is", "a", "test" });
Console.WriteLine(al.BinarySearch("this"));
将值“2”输出到控制台,因为项“this”位于索引2。同意当我运行该代码时,这是我得到的输出。
但是如果我运行
Console.WriteLine(al.BinarySearch("world"));
我本来期望控制台输出的值是1,因为'world'应该在索引1上,但实际得到的却是-7?
请问有人能解释一下这是怎么回事吗?
谢谢