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 ``myArray4Dwill have1800` 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