Главная arrow Язык программирования C# arrow C# Полное руководство Герберт Шилдт arrow Применение свойства Length при обращении со ступенчатыми массивами C# Полное руководство Герберт Шил

Применение свойства Length при обращении со ступенчатыми массивами C# Полное руководство Герберт Шил

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

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

using System;

class Jagged {
   static void Main() {
      int [ ] [ ] netw6rk_nodes = new int [4] [ ];
      network_nodes [0] = new int [3];
      network_nodes [1] = new int [7];
      network_nodes [2] = new int [2];
      network_nodes [3] = new int [5];
      
      int i, j;

      // Сфабриковать данные об использовании ЦП.
      for(i=0; i < network_nodes.Length; i++)
         for(j=0; j < network_nodes [i].Length; j++)
        network_nodes [i] [j]=i*j+70;

      Console.WriteLine("Общее количество узлов сети: " + network_nodes.Length + "\n");

      for(i=0; i < network_nodes.Length; i++) {
         for(j=0; j < network_nodes [i].Length; j++) {
            Console.Write ("Использование в узле сети " + i + " ЦП " + j + ": ") ;
            Console.Write(network_nodes[i] [j]. + "% ");
            Console.WriteLine();
         }
         Console.WriteLine ();
      }
   }
}


При выполнении этой программы получается следующий результат:
   Общее количество узлов сети: 4
   
   Использование в узле 0 ЦП 0: 70%
   Использование в узле 0 ЦП 1: 70%
   Использование в узле 0 ЦП 2: 70%
   
   Использование в узле 1 ЦП 0: 70%
   Использование в узле 1 ЦП 1: 71%
   Использование в узле 1 ЦП 2: 72%
   Использование в узле 1 ЦП 3: 73%
   Использование в узле 1 ЦП 4: 74%
   Использование в узле 1 ЦП 5: 75%
   Использование в узле 1 ЦП 6: 76%.
   
   Использование в узле 2 ЦП 0: 70%
   Использование в узле 2 ЦП 1: 72%
   
   Использование в узле 3 ЦП 0: 70%
   Использование в узле 3 ЦП 1: 73%
   Использование в узле 3 ЦП 2: 76%
   Использование в узле 3 ЦП 3: 79%
   Использование в узле 3 ЦП 4: 82%

Обратите особое внимание на то, как свойство Length используется в ступенчатом массиве network_nodes. Напомним, что двумерный ступенчатый массив представляет собой массив массивов. Следовательно, когда используется выражение
   network_nodes.Length
то в нем определяется число массивов, хранящихся в массиве network_nodes (в данном случае — четыре массива). А для получения длины любого отдельного массива, составляющего ступенчатый массив, служит следующее выражение:
   network_nodes [0].Length
В данном случае это длина первого массива.