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

//прдемонстрировать применение свойства Length

//при обращении со ступенчатыми массивами.

using System;

class Jagged

{

static void Main()

{

int[][] network_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();

}

}

}

Неявно типизированные массивы

Как пояснялось в главе 3, в версии C# 3.0 появилась возможность объявлять неявно типизированные переменные с помощью ключевого слова var. Это переменные, тип которых определяется компилятором, исходя из типа инициализирующего выражения. Следовательно, все неявно типизированные переменные должны быть непременно инициализированы.

Неявно типизированный массив объявляется с помощью ключевого слова var, но без последующих квадратных скобок []. Кроме того, неявно типизированный массив должен быть непременно инициализирован, поскольку по типу инициализаторов определяется тип элементов данного массива. Все инициализаторы должны быть одного и того же согласованного типа.

var vals = new[] { 1, 2, 3, 4, 5 };

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

Рассмотрим еще один пример, в котором создается двумерный массив типа double.

var vals = new[,] { { 1.1, 2.2 }, { 3.3, 4.4 }, { 5.5, 6.6 } };

В данном случае получается массив valsразмерами 2×3.

//продемонстрировать неявно типизированный ступерчатый массив.

using System;

class Jagged

{

static void Main()

{

var jagged = new[]{

new[]{1,2,3,4},

new[]{9,8,7},

new[]{11,12,13,14,15}

};

for (int j = 0; j < jagged.Length; j++)

{

for (int i = 0; i < jagged[j].Length; i++)

Console.Write(jagged[j][i] + " ");

Console.WriteLine();

}

}

}

Обратите особое внимание на объявление массива jagged.

var jagged = new[]{

new[]{1,2,3,4},

new[]{9,8,7},

new[]{11,12,13,14,15}

};

Оператор new[] используется в этом объявлении двояким образом. Во-первых, этот оператор создает массив массивов. И во-вторых, он создает каждый массив в отдельности, исходя из количества инициализаторов и их типа.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: