Как подтверждает приведенный выше результат, свойствоLengthсодержит число элементов, из которых может состоять массив (в данном случае — 300 (10><5х6) элементов). Тем не менее свойствоLengthнельзя использовать для определения длины массива в отдельном его измерении.

Благодаря наличию у массивов свойстваLengthоперации с массивами во многих алгоритмах становятся более простыми, а значит, и более надежными. В качестве примера свойствоLengthиспользуется в приведенной ниже программе с целью поменять местами содержимое элементов массива, скопировав их в обратном порядке в другой массив.

// Поменять местами содержимое элементов массива.

using System;

class RevCopy {

static void Main() { int i,j;

int[] numsl = new int[10]; int[] nums2 = new int[10];

for(i=0; i < numsl.Length; i++) numsl[i] = i;

Console.Write("Исходное содержимое массива: "); for(i=0; i < nums2.Length; i++)

Console.Write(numsl[i] + " ");

Console.WriteLine();

// Скопировать элементы массива numsl в массив nums2 в обратном порядке, if(nums2.Length >= numsl.Length) // проверить, достаточно ли

// длины массива nums2 for(i=0, j=numsl.Length-1; i < numsl.Length; i++, j--) nums2[j] = numsl[i];

Console.Write("Содержимое массива в обратном порядке: "); for(i=0; i < nums2.Length; i++)

Console.Write(nums2[i] + " ");

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

Исходное содержимое массива: 0123456789 Содержимое массива в обратном порядке: 9876543210

В данном примере свойствоLengthпомогает выполнить две важные функции. Во-первых, оно позволяет убедиться в том, что длины целевого массива достаточно для хранения содержимого исходного массива. И во-вторых, оно предоставляет условие для завершения циклаfor,в котором выполняется копирование исходного массива в обратном порядке. Конечно, в этом простом примере размеры массивов нетрудно выяснить и без свойстваLength,но аналогичный подход может быть применен в целом ряде других, более сложных ситуаций.

Применение свойства Length при обращении со ступенчатыми массивами

Особый случай представляет применение свойстваLengthпри обращении со ступенчатыми массивами. В этом случае с помощью данного свойства можно получить длину каждого массива, составляющего ступенчатый массив. В качестве примера рассмотрим следующую программу, в которой имитируется работа центрального процессора (ЦП) в сети, состоящей из четырех узлов.

// Продемонстрировать применение свойства Length // при обращении со ступенчатыми массивами.

using System;

class Jagged {

static void Main() {

Перейти на страницу:

Похожие книги