Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Multi-Dimensional Arrays | Arrays
C# Basics
course content

Course Content

C# Basics

C# Basics

1. Getting Started
2. Dealing with Data Types
3. Control Structures
4. Loops
5. Arrays
6. Methods

bookMulti-Dimensional Arrays

Arrays can also have additional arrays inside them. Such arrays are called Multi-Dimensional Arrays. These are useful when we want to store the data in a tabular form, with rows and columns, or in the form of a matrix.

We can declare a two-dimensional array using the following syntax:

cs

main

copy
1
datatype[][] arrayName = new datatype[lengthX, lengthY];

The array created using the above syntax will have the length (size) equal to lengthX and each element will be an array of size lengthY. For-example:

cs

main

copy
1
int[,] numbers = new int[3,3];

In the above case, we create a new two-dimensional matrix of 3x3 size. It means that it can hold 9 integer numbers. We can initialize a 2D array using the following syntax:

cs

main

copy
12345
datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };

For-example:

cs

main

copy
12345
int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };

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.

cs

main

copy
1
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:

cs

main

copy
1
Console.WriteLine(numbers[1, 2]); // Output: 6

Higher dimensional arrays are also possible by adding extra commas to the declaration syntax:

cs

main

copy
123
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:

cs

main

copy
123456
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} } };
What is the correct code for accessing "Pumpkin" element from the `foods` array:

What is the correct code for accessing "Pumpkin" element from the foods array:

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 5. Chapter 5
some-alt