ВУЗ:
Составители:
Рубрика:
106
};
В этом случае элементы массива получат при инициализации нулевые
значения. Реальную инициализацию нужно будет выполнять программным
путем. Стоит заметить, что в конструкторе верхнего уровня константу 3 можно
опустить и писать просто new int[ ][ ]. Вызов этого конструктора можно вообще
опустить – он будет подразумеваться:
int[ ][ ] jagger2 =
{
new int[4],
new int[2],
new int[3]
};
А вот конструкторы нижнего уровня необходимы. Еще одно важное
замечание – динамические массивы возможны и здесь. В общем случае,
границы на любом уровне могут быть выражениями, зависящими от
переменных. Более того, допустимо, чтобы массивы на нижнем уровне были
многомерными.
7.5. Класс Array
Нельзя понять многие детали работы с массивами в C#, если не знать
устройство класса Array из библиотеки FCL, потомками которого являются все
классы-массивы.
Рассмотрим следующие объявления:
//Класс Array
int[ ] ar1 = new int[5];
double[ ] ar2 ={5.5, 6.6, 7.7};
int[ , ] ar3 = new Int32[3,4];
У всех классов, являющихся массивами, много общего, поскольку все они
являются потомками класса System.Array. Класс System.Array наследует ряд
интерфейсов: ICloneable, IList, ICollection, IEnumerable, и обязан реализовать все
их методы и свойства. Помимо наследования свойств и методов класса Object и
вышеперечисленных интерфейсов, класс Array имеет довольно большое число
собственных методов и свойств. Взгляните, как выглядит отношение
наследования на семействе классов, определяющих массивы (рис. 24).
Благодаря такому мощному родителю (класс Object), над массивами
определены самые разнообразные операции – копирование, поиск, обращение,
сортировка, получение различных характеристик. Массивы можно
рассматривать как коллекции и устраивать циклы ForEach для перебора всех
элементов. Важно и то, что когда у семейства классов есть общий родитель, то
можно иметь общие процедуры обработки различных потомков этого родителя.
Для общих процедур работы с массивами характерно, что один или несколько
формальных аргументов имеют родительский тип Array. Естественно, внутри
Страницы
- « первая
- ‹ предыдущая
- …
- 100
- 101
- 102
- 103
- 104
- …
- следующая ›
- последняя »
