С# многомерный массив
Многомерный массив C#
В этом уроке мы узнаем о многомерном массиве в C# на примере двумерного массива.
Прежде чем мы узнаем о многомерных массивах, обязательно узнайте об одномерных массивах в C#.
В многомерном массиве каждый элемент массива также является массивом. Например,
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
Здесь x представляет собой многомерный массив, состоящий из двух элементов:{1, 2, 3} и {3, 4, 5} . И каждый элемент массива также является массивом с 3 элементы.
<час>Двумерный массив в C#
Двумерный массив состоит из одномерных массивов в качестве его элементов. Его можно представить в виде таблицы с определенным количеством строк и столбцов.
<рисунок>Здесь строки {1, 2, 3} и {3, 4, 5} являются элементами двумерного массива.
1. Объявление двумерного массива
Вот как мы объявляем двумерный массив в C#.
int[ , ] x = new int [2, 3];
Здесь x представляет собой двумерный массив с 2 элементы. И каждый элемент также является массивом с 3 элементы.
Таким образом, всего массив может хранить 6 элементы (2 * 3 ).
Примечание. Одиночная запятая [ , ] означает, что массив является двумерным.
<час>2. Инициализация двумерного массива
В C# мы можем инициализировать массив во время объявления. Например,
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
Здесь x представляет собой двумерный массив из двух элементов {1, 2, 3}
и {3, 4, 5}
. Мы видим, что каждый элемент массива также является массивом.
Мы также можем указать количество строк и столбцов во время инициализации. Например,
int [ , ] x = new int[2, 3]{ {1, 2, 3}, {3, 4, 5} };
<час> 3. Доступ к элементам из 2D-массива
Мы используем номер индекса для доступа к элементам двумерного массива. Например,
// a 2D array
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
// access first element from first row
x[0, 0]; // returns 1
// access third element from second row
x[1, 2]; // returns 5
// access third element from first row
x[0, 2]; // returns 3
<рисунок> <час> Пример:двумерный массив C#
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
//initializing 2D array
int[ , ] numbers = {{2, 3}, {4, 5}};
// access first element from the first row
Console.WriteLine("Element at index [0, 0] : "+numbers[0, 0]);
// access first element from second row
Console.WriteLine("Element at index [1, 0] : "+numbers[1, 0]);
}
}
}
Вывод
Element at index [0, 0] : 2 Element at index [1, 0] : 4
В приведенном выше примере мы создали двумерный массив с именем numbers. со строками {2, 3} и {4, 5} .
Здесь мы используем порядковые номера для доступа к элементам двумерного массива.
numbers[0, 0]
- доступ к первому элементу из первой строки (2 )numbers[1, 0]
- доступ к первому элементу из второй строки (4 )
Изменить элементы массива
Мы также можем изменить элементы двумерного массива. Чтобы изменить элемент, мы просто присваиваем новое значение этому конкретному индексу. Например,
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
int[ , ] numbers = {{2, 3}, {4, 5}};
// old element
Console.WriteLine("Old element at index [0, 0] : "+numbers[0, 0]);
// assigning new value
numbers[0, 0] = 222;
// new element
Console.WriteLine("New element at index [0, 0] : "+numbers[0, 0]);
}
}
}
Вывод
Old element at index [0, 0] : 2 New element at index [0, 0] : 222
В приведенном выше примере начальное значение по индексу [0, 0] составляет 2 . Обратите внимание на строку,
// assigning new value
numbers[0, 0] = 222;
Здесь мы присваиваем новое значение 222. по индексу [0, 0] . Теперь значение по индексу [0, 0] изменено с 2 до 222 .
<час>Итерация массива C# с использованием цикла
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
int[ , ] numbers = { {2, 3, 9}, {4, 5, 9} };
for(int i = 0; i < numbers.GetLength(0); i++) {
Console.Write("Row "+ i+": ");
for(int j = 0; j < numbers.GetLength(1); j++) {
Console.Write(numbers[i, j]+" ");
}
Console.WriteLine();
}
}
}
}
Вывод
Row 0: 2 3 9 Row 1: 4 5 9
В приведенном выше примере мы использовали вложенный цикл for для перебора элементов двумерного массива. Здесь
numbers.GetLength(0)
- дает количество строк в 2D-массивеnumbers.GetLength(1)
- дает количество элементов в строке
Примечание :Мы также можем создать 3D-массив. Технически 3D-массив — это массив, состоящий из нескольких двумерных массивов в качестве элементов. Например,
int[ , , ] numbers = { { { 1, 3, 5 }, { 2, 4, 6 } },
{ { 2, 4, 9 }, { 5, 7, 11 } } };
Здесь [ , , ]
(2 запятые) обозначает трехмерный массив.
Язык C
- Коэффициенты удельного сопротивления
- С# Массивы
- Зубчатый массив С#
- Передача массива в функцию в программировании на C++
- Массивы копирования Java
- Интерфейс Java NavigableSet
- Массивы в C++ | Объявить | Инициализировать | Указатель на примеры массивов
- C++ динамическое выделение массивов с примером
- Учебное пособие по коллекциям C# с примерами
- MATLAB — Массивы