ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Шрифт:
Эти методы можно вызвать из метода Main, как показано ниже.
Работа
Вдобавок к одномерным массивам, которые мы рассматривали до сих пор, в C# поддерживаются два варианта многомерных массивов. Первый из них – это прямоугольный массив, т.е. многомерный массив, в котором каждая строка оказывается одной и той же длины. Чтобы объявить и заполнить многомерный прямоугольный массив, действуйте так, как показано ниже.
На рис. 3.22 показан соответствующий вывод (обратите внимание на прямоугольный вид массива).
Рис. 3.22. Многомерный массив
Второй тип многомерных массивов – это невыровненный массив. Как следует из самого названия, такой массив содержит некоторый набор массивов, каждый из которых может иметь свой верхний предел для индексов. Например:
На рис. 3.23 показан соответствующий вывод (обратите, что здесь массив имеет "неровный край").
Рис. 3.23. Невыровненный массив
Теперь когда вы знаете,
как строить и заполнять массивы в C#, обратим внимание на базовый класс любого массива: System.Array.Базовый класс System.Array
Каждый создаваемый вами массив в .NET автоматически получается из System.Array. Этот класс определяет рад полезных методов для упрощения работы с массивами. В табл. 3.14 предлагаются описания некоторых из наиболее интересных членов указанного класса.
Таблица 3.14. Некоторые члены System.Array
Член | Описание |
---|---|
BinarySearch | Статический метод, выполняющий поиск заданного элемента в (предварительно отсортированном) массиве. Если массив скомпонован из пользовательских типов, искомый тип должен реализовывать интерфейс IComparer (см. главу 7), чтобы задействовать двоичный поиск |
Clear | Статический метод, очищающий заданный диапазон элементов в массиве (устанавливается 0 для числовых типов и null – для ссылочных типов) |
CopyTo | Метод, используемый для копирования элементов из массива-источника в целевой массив |
Length | Свойство, доступное только для чтения и используемое для выяснения числа элементов в массиве |
Rank | Свойство, возвращающее значение размерности данного массива |
Reverse | Статический метод, инвертирующий порядок следования элементов одномерного массива |
Sort | Метод, сортирующий одномерный массив внутренних типов. Если элементы в массиве реализуют интерфейс IComparer, можно также сортировать пользовательские типы (снова см. главу 7) |
Рассмотрим примеры использовании некоторых из этих членов. В следующем программном коде используются статические методы Reverse и Clear (а также свойство Length) для вывода некоторой информации о массиве строк firstNames на консоль.