В C# допускаются массивы трех и более измерений. Ниже приведена общая форма объявления многомерного массива.
тип[,...,]имя_массива = new тип[размер1, размер2,... размерN];
Например, в приведенном ниже объявлении создается трехмерный целочисленный массив размерами 4×10×3.
int[,,] multidim = new int[4, 10, 3];
А в следующем операторе элементу массива multidimс координатами местополо
жения (2,4,1) присваивается значение 100.
multidim[2, 4, 1] = 100;
//Суммировать значения по одной из диагоналей матрицы 3х3х3.
using System;
class ThreeDMatrix
{
static void Main()
{
int[,,] m = new int[3, 3, 3];
int sum = 0, n = 1, sum1 = 0;
for (int x = 0; x < 3; x++)
for (int y = 0; y < 3; y++)
for (int z = 0; z < 3; z++)
m[x, y, z] = n++;
sum = m[0, 0, 0] + m[1, 1, 1] + m[2, 2, 2];
sum1 = m[0, 0, 2] + m[1, 1, 1] + m[2, 2, 0];
Console.WriteLine("Сумма значений по первой диагонали: " + sum);
Console.WriteLine("Сумма значений по второй диагонали: " + sum1);
}
}
Инициализация многомерных массивов
Для инициализации многомерного массива достаточно заключить в фигурные
скобки список инициализаторов каждого его размера. Ниже в качестве примера приведена общая форма инициализации двумерного массива:
|
|
тип[,]имя_массива=
{
{val, val, val,..., val},
{val, val, val,..., val},
{val, val, val,..., val}
};
//Инициализировать двумерный массив.
using System;
class Squares
{
static void Main()
{
int[,] sqrs ={
{1,1},
{2,4},
{3,9},
{4,16},
{5,25},
{6,36},
{7,49},
{8,64},
{9,81},
{10,100}
};
int i, j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 2; j++)
Console.Write(sqrs[i,j] + " ");
Console.WriteLine();
}
}
}