TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

C# Multidimensional Array

This C# program uses a multidimensional array that has three dimensions.

Multidimensional array. 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. 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.

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

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 Array

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. 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.


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf