Я занят подготовкой к экзамену 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?
Может кто-нибудь объяснить, как это работает?
Спасибо