Вопрос уже ответил, но добавил это для справки.
BinarySearch найдет элементы, используя отсортированный алгоритм. В вашем примере сортировка по умолчанию в алфавитном порядке, поэтому «мир» должен быть последним, следовательно, номер 7.
Вы увидите перегрузчик BinarySearch, который принимает объект IComparer. Не указывать это дает по умолчанию сортировку по алфавиту.
Но если вы реализовали метод "reverseSort", как предлагается в книге, то вам нужно было бы передать функции BinarySearch объект "reverseSort".
Как это;
Console.WriteLine(al.BinarySearch(al, new reverseSort()));
Также, как мне показалось довольно интересным, если вы реализуете класс reverseSort и создаете console.writeline, для которого сравниваются значения, результаты оказались не такими, как я ожидал. Я потратил немного времени, пытаясь понять, что это за алгоритм.