Зміст курсу
Основи C#
Основи C#
Багатовимірні масиви
Масиви також можуть містити додаткові масиви всередині них. Такі масиви називаються багатовимірними масивами. Вони корисні, коли ми хочемо зберігати дані у табличній формі, з рядками та стовпцями, або у формі матриці.
Ми можемо оголосити двовимірний масив, використовуючи наступний синтаксис:
main
datatype[][] arrayName = new datatype[lengthX, lengthY];
Масив, створений за допомогою наведеного вище синтаксису, матиме довжину (розмір), рівну lengthX
, і кожен елемент буде масивом розміру lengthY
. Наприклад:
main
int[,] numbers = new int[3,3];
У наведеному вище випадку ми створюємо нову двовимірну матрицю розміром 3x3. Це означає, що вона може містити 9
цілих чисел. Ми можемо ініціалізувати 2D масив, використовуючи наступний синтаксис:
main
datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };
Consider the example with real values:
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; // Displaying the array foreach (int number in numbers) { Console.Write(number + " "); } } } }
The above is a 3x4 matrix and it can store 12 elements. The following illustration shows a 3x3 matrix in a visualized form:
Indexing in multidimensional arrays is similar to the normal arrays. We simply mention the row and the column index.
main
arrayName[row, column];
For example, if we want to access 6
from the numbers
array (shown in the illustration), we will access the 2nd row and the 3rd column:
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; Console.WriteLine(numbers[1, 2]); // Output: 7 } } }
Higher dimensional arrays are also possible by adding extra commas to the declaration syntax:
main
int[,,] myArray3D = new int[3, 4, 5]; int[,,,] myArray4D = new int[5, 4, 9, 10]; // Similarly more complex ones are possible as well using the same pattern
In the above code myArray3D
will have 60
elements (3x4x5), while myArray4D
will have 1800
elements (5x4x9x10).
Following is how you would initialize a 3D array:
main
int[,,] numbers = { { {1, 2, 3}, { 4, 5, 6 }, {7, 8, 9} }, { {10, 11, 12}, {13, 14, 15}, {16, 17, 18} }, { {19, 20, 21}, {22, 23, 24}, {25, 26, 27} } };
Дякуємо за ваш відгук!