C# Multidimensional Array

Steps

An array can have many dimensions. Multidimensional arrays are available using a special syntax in the C# language. They model complex spaces without using a lot of custom code. In rare programs they are useful.

Example

Multidimensional array: cube

First, this example program written in the C# language demonstrates the use of a three-dimensional array. You can declare and initialize the multidimensional array using the comma syntax.

Also:You can loop over any 3D array using this example code. Adding levels to the for-loop allows it to handle greater dimensions.

For
C# program that uses three-dimensional array

using System;

class Program
{
    static void Main()
    {
	// Create a three-dimensional array.
	int[, ,] threeDimensional = new int[3, 5, 4];
	threeDimensional[0, 0, 0] = 1;
	threeDimensional[0, 1, 0] = 2;
	threeDimensional[0, 2, 0] = 3;
	threeDimensional[0, 3, 0] = 4;
	threeDimensional[0, 4, 0] = 5;
	threeDimensional[1, 1, 1] = 2;
	threeDimensional[2, 2, 2] = 3;
	threeDimensional[2, 2, 3] = 4;

	// Loop over each dimension's length.
	for (int i = 0; i < threeDimensional.GetLength(2); i++)
	{
	    for (int y = 0; y < threeDimensional.GetLength(1); y++)
	    {
		for (int x = 0; x < threeDimensional.GetLength(0); x++)
		{
		    Console.Write(threeDimensional[x, y, i]);
		}
		Console.WriteLine();
	    }
	    Console.WriteLine();
	}
    }
}

Output

100
200
300
400
500

000
020
000
000
000

000
000
003
000
000

000
000
004
000
000
Int keyword

In this example, we use an int[, ,] type—a three-dimensional integer array reference type. When using a multidimensional array, you should specify the dimension lengths on the array creation expression, not the type itself.

Int Array

Tip:We access elements in a 2D or 3D array using the comma syntax in the array index. We read and write elements using this syntax.

Note:The program first shows how to write elements. It then shows how to read elements in a nested loop.

2D ArrayProgramming tip

Also, the GetLength instance method is available on all constructed array types. To use the GetLength method, pass it one parameter. This parameter is the dimension of the array you want to check.

Tip:A three-dimensional array has three allowed values. You can access the dimension 0, dimension 1 and dimension 2.

Discussion

Squares

Let's consider the uses of multidimensional arrays such as three-dimensional arrays in the C# language. In computer science textbooks, multidimensional arrays are used to model problems that occur in the real world in several dimensions.

For example, two-dimensional arrays model a plane while three-dimensional arrays model a cube or other structure. Structures such as 4D arrays can be used for systems that do not truly require four dimensions but just need more space.

Unfortunately, in the C# language, two-dimensional arrays and all multi-dimensional arrays are slower than one-dimensional arrays when accessing elements. Instead, jagged arrays can be used.

Jagged Arrays

Note:Here at Dot Net Perls world headquarters, I occasionally make mistakes on code examples.

And:The original version of this article printed out the 3D array in an incorrect way. Kenny Lindstrom wrote in with a correction.

Summary

We looked at multidimensional arrays in the C# language. The comma declarator syntax is used to specify this exact type. You can loop over the arrays in order using some helper methods on the array type.


C#: Array