Рейтинговые книги
Читем онлайн C# 4.0: полное руководство - Герберт Шилдт

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 205 206 207 208 209 210 211 212 213 ... 294

public static void Sort(Array keys, Array iterns) - Сортирует по нарастающей два заданных одномерных массива. Массив keys содержит ключи сортировки, а массив items — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку нарастания ключей

public static void Sort<TKey, TValue>(TKey[] keys, TV[] items) - Сортирует по нарастающей два заданных одномерных массива. Массив keys содержит ключи сортировки, а массив items значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку возрастания ключей

public static void Sort(Array keys, Array items, Icomparer comparer) - Сортирует по нарастающей два заданных одномерных массива, используя способ сравнения, задаваемый параметром comparer. Массив keys содержит ключи сортировки, а массив i terns — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку возрастания ключей

public static void Sort<TKey, TValue>(TKey[] keys, TValue[] items, IComparer<TKey> comparer) - Сортирует по нарастающей два заданных одномерных массива, используя способ сравнения, задаваемый параметром comparer. Массив keys содержит ключи сортировки, а массив i terns — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение”. После сортировки элементы обоих массивов располагаются по порядку возрастания ключей

public static void Sort(Array array, int index, int length) - Сортирует массив array по нарастающей в заданных пределах, начиная с элемента, указываемого по индексу array [index], и включая число элементов, определяемых параметром length. Массив должен быть одномерным

public static void Sort<T>(T[] array, int index, int length) - Сортирует массив array по нарастающей в заданных пределах, начиная с элемента, указываемого по индексу array [index], и включая число элементов, определяемых параметром length. Массив должен быть одномерным

public static void Sort (Array array, int index, int length, IComparer comparer) - Сортирует массив array по нарастающей в заданных пределах, начиная с элемента, указываемого по индексу array [index], и включая число элементов, определяемых параметром length, а также используя способ сравнения, задаваемый параметром v. Массив должен быть одномерным

public static void Sort<T>(T[] array, int index, int length, Icomparer<T> comparer) - Сортирует массив array по нарастающей в заданных пределах, начиная с элемента, указываемого по индексу array [ index], и включая число элементов, определяемых параметром length, а также используя способ сравнения, задаваемый параметром comparer. Массив должен быть одномерным

public static void Sort(Array keys, Array items, int index, int length) - Сортирует по нарастающей два одномерных массива в.заданных пределах, начиная с элемента, указываемого по индексу index, и включая число элементов, определяемых параметром length. Массив keys содержит ключи сортировки, а массив i terns значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение". После сортировки элементы обоих массивов располагаются в заданных пределах по порядку возрастания ключей

public static void Sort<TKey, TValue>(TKey[] keys, TValue[] items, int index, int length) - Сортирует по нарастающей два одномерных массива в заданных пределах, начиная с элемента, указываемого по индексу index, и включая число элементов, определяемых параметром length. Массив keys содержит ключи сортировки, а массив i terns — значения, связанные с этими ключами. Следовательно, оба массива должны содержать пары “ключ-значение". После сортировки элементы обоих массивов располагаются в заданных пределах по порядку возрастания ключей

public static void Sort(Array keys, Array items, int index, int length, IComparer comparer) - Сортирует по нарастающей два одномерных массива в заданных пределах, начиная с элемента, указываемого по индексу index, и включая число элементов, определяемых параметром length, а также используя способ сравнения, задаваемый параметром comparer. Массив keys содержит ключи сортировки, а массив items значения, связанные с этими ключами. Следовательно, эти два массива должны содержать пары “ключ-значение". После сортировки элементы обоих массивов располагаются в заданных пределах по порядку возрастания ключей

public static void Sort<TKey, TValue>(TKey[] keys, TV items, int index, int length, Icomparer<TKey> comparer) - Сортирует по нарастающей два одномерных массива в заданных пределах, начиная с элемента, указываемого по индексу index, и включая число элементов, определяемых параметром length, а также используя способ сравнения, задаваемый параметром comparer. Массив keys содержит ключи сортировки,,а массив items значения, связанные с этими ключами. Следовательно, эти два массива должны содержать пары .“ключ-значение". После сортировки элементы обоих массивов располагаются в заданных пределах по порядку возрастания ключей

public static bool TrueForAll<T>(T[] array, Predicate<T> match) - Возвращает логическое значение true, если все элементы массива array удовлетворяют условию предиката, задаваемого параметром match. Если один или более элементов этого массива не удовлетворяют заданному условию, то возвращается логическое значение false

Сортировка и поиск в массивах

Содержимое массива нередко приходится сортировать. Для этой цели в классе Array предусмотрен обширный ряд сортирующих методов. Так, с помощью разных вариантов метода Sort() можно отсортировать массив полностью или в заданных пределах либо отсортировать два массива, содержащих соответствующие пары "ключ-значение". После сортировки в массиве можно осуществить эффективный поиск, используя разные варианты метода BinarySearch(). В качестве примера ниже приведена программа, в которой демонстрируется применение методов Sort() и BinarySearch() для сортировки и поиска в массиве значений типа int.

// Отсортировать массив и найти в нем значение.

using System;

class SortDemo {

  static void Main() {

    int[] nums = { 5, 4, 6, 3, 14, 9, 8, 17, 1, 24, -1, 0 };

    // Отобразить исходный порядок следования.

    Console.Write("Исходный порядок следования: ");

    foreach(int i in nums)

      Console.Write(i + " ") ;

    Console.WriteLine();

    // Отсортировать массив.

    Array.Sort(nums);

    // Отобразить порядок следования после сортировки.

    Console.Write("Порядок следования после сортировки: ");

    foreach(int i in nums)

      Console.Write(i + " ");

    Console.WriteLine();

    // Найти значение 14.

    int idx = Array.BinarySearch(nums, 14);

    Console.WriteLine("Индекс элемента массива со значением 14: " + idx) ;

  }

}

Вот к какому результату приводит выполнение этой программы.

Исходный порядок следования: 5 4 6 3 14 9 8 17 1 24 -1 0

Порядок следования после сортировки: -1 0 1 3 4 5 6 8 9 14 17 24

Индекс элемента массива со значением 14: 9

В приведенном выше примере массив состоит из элементов типа int, который относится к категории типов значений. Все методы, определенные в классе Array, автоматически доступны для обработки массивов всех встроенных в C# типов значений. Но в отношении массивов ссылок на объекты это правило может и не соблюдаться. Так, для сортировки массива ссылок на объекты в классе типа этих объектов должен быть реализован интерфейс IComparable или IComparable<T>. Если же ни один из этих интерфейсов не реализован в данном классе, то во время выполнения программы может возникнуть исключительная ситуация в связи с попыткой отсортировать подобный массив или осуществить в нем поиск. Правда, реализовать оба интерфейса, IComparable и IComparable<T>, совсем нетрудно.

1 ... 205 206 207 208 209 210 211 212 213 ... 294
На этой странице вы можете бесплатно читать книгу C# 4.0: полное руководство - Герберт Шилдт бесплатно.
Похожие на C# 4.0: полное руководство - Герберт Шилдт книги

Оставить комментарий