Как подтверждает приведенный выше результат, свойство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 {