Multidimensional Arrays in C#

Goud.Kv
Posted by in C# category on for Beginner level | Points: 250 | Views : 2373 red flag
Rating: 3 out of 5  
 1 vote(s)

C# is an Object-oriented programming language. C# comes with simplicity, expressiveness and great performance to meet the programmer productivity.

Introduction

So far we have seen declaring arrays in C#. Let's see multidimensional arrays in this chapter. The main objective of this article is to learn about 2-dimensional and 3-dimensional arrays in C# programming.

Two Dimensional Arrays

We have already seen one-dimensional arrays in the previous chapter which are used to create simple arrays with Chars and Strings in C#.

Let's take the below example code of two dimensional arrays without any size,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Man
{
    class Program
    {
        static void Main()
        {
            int[,] Num2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; // Two dimensional array..

            Console.WriteLine(Num2D[0, 0]);  // 1 : 0th index and 0th element
            Console.WriteLine(Num2D[0, 1]);  // 2 : 0th index and 1st element
            Console.WriteLine(Num2D[1, 0]);  // 3 : 1st index and 0th element
            Console.WriteLine(Num2D[1, 1]);  // 4 : 1st index and 1st element
            Console.WriteLine(Num2D[2, 0]);  // 5 : 2nd index and 0th element
            Console.WriteLine(Num2D[2, 1]);  // 6 : 2nd index and 1st element
            Console.WriteLine(Num2D[3, 0]);  // 7 : 3rd index and 0th element
            Console.WriteLine(Num2D[3, 1]);  // 8 : 3rd index and 1st element
        }
    }
}
In the above code, we have a 2-dimensional array without fixed size. Console prints the following lines with respect to their indexes,


Two-dimensional arrays with fixed size for Chars

We can also declare the size of the array initially like below,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Man
{
    class Program
    {
        static void Main()
        {
            char[,] Alp2D = new char[2, 2] { { 'a', 'b' }, { 'c', 'd' } }; // Two dimensional array with fixed size..

            Console.WriteLine(Alp2D[0, 0]);  // a : 0th index and 0th element
            Console.WriteLine(Alp2D[0, 1]);  // b : 0th index and 1st element
            Console.WriteLine(Alp2D[1, 0]);  // c : 1st index and 0th element
            Console.WriteLine(Alp2D[1, 1]);  // d : 1st index and 1st element
        }
    }
}
Note: please read the comments in the code.

In the above code, we have a 2-dimensional array of characters with fixed size. This will prints your characters based on their index and position,


Two-dimensional arrays with fixed size for Strings

Below code explains the declaration of 2-dimensional arrays of strings ,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Man
{
    class Program
    {
        static void Main()
        {
            string[,] Fruits2D = new string[3, 2] { { "Apple", "Banana" }, { "Mango", "Orange" }, { "Pineapple", "Strawberry" } }; // Two dimensional array with fixed size..

            Console.WriteLine(Fruits2D[0, 0]);  // Apple : 0th index and 0th element
            Console.WriteLine(Fruits2D[1, 1]);  // Orange : 1st index and 1st element
            Console.WriteLine(Fruits2D[2, 0]);  // Pineapple : 2nd index and 0th element
            Console.WriteLine(Fruits2D[2, 1]);  // Strawberry : 2nd index and 1st element
        }
    }
}
Note: please read the comments in the code.

In the above code, we have a 2-dimensional array of fruits (strings) with size 3,2. This will print the strings in the Console based on the given index as following,


Three Dimensional Arrays


Similar to the above 2-dimensional arrays, we can have 3-dimensional arrays in C#. Let's have an example code which explains the 3-dimensional arrays,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Man
{
    class Program
    {
        static void Main()
        {
            char[, ,] Alp3D = new char[2, 2, 2] { { { 'a', 'b' }, { 'c', 'd' } }, { { 'e', 'f' }, { 'g', 'h' } } }; // Two dimensional array with fixed size..

            Console.WriteLine(Alp3D[0, 0, 0]);  // a : 0th index and 0th element and 0th sub element
            Console.WriteLine(Alp3D[1, 1, 1]);  // h : 1st index and 1st element and 1st sub element
            Console.WriteLine(Alp3D[1, 0, 1]);  // f : 1st index and 0th element and 1st sub element
            Console.WriteLine(Alp3D[0, 1, 1]);  // d : 0th index and 1st element and 1st sub element
        }
    }
}
Note: please read the comments in the code.

Observe the above code carefully as it is little complicated to understand. We have three dimensions in the array with fixed size of 2,2,2. This code will prints the characters with respect to their root,


Three-dimensional arrays with fixed size for Strings

Now let's try to create a 3-dimensional array with some strings. Take a look at the below code of 3-dimensional array with some fruit names,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Man
{
    class Program
    {
        static void Main()
        {
            string[, ,] Fruits3D = new string[2, 2, 2] { { { "Apple", "Banana" }, { "Orange", "Mango" } }, { { "Lemon", "Strawberry" }, { "Pineapple", "Grape" } } }; // Two dimensional array with fixed size..

            Console.WriteLine(Fruits3D[0, 0, 0]);  // Apple : 0th index and 0th element and 0th sub element
            Console.WriteLine(Fruits3D[1, 1, 1]);  // Grape : 1st index and 1st element and 1st sub element
            Console.WriteLine(Fruits3D[1, 0, 1]);  // Strawberry : 1st index and 0th element and 1st sub element
            Console.WriteLine(Fruits3D[0, 1, 1]);  // Mango : 0th index and 1st element and 1st sub element
        }
    }
}
Note: please read the comments in the code.

Above code is similar to the before one and only change is using string in the place of char. This will prints the following lines in your Console,


Conclusion


In this article, we clearly seen about 2-dimensional and 3-dimensional arrays in C# programming. Hope you understand.

Thanks for reading,

Regards,
Krishna.

Recommendation
Read Variables, Stack, Heap and default values in C# after this article.
Page copy protected against web site content infringement by Copyscape

About the Author

Goud.Kv
Full Name: Krishna Vamshi Goud
Member Level: Gold
Member Status: Member,MVP
Member Since: 2/12/2014 2:34:09 AM
Country: India
Thanks & Regards, Krishna


Login to vote for this post.

Comments or Responses

Login to post response

Comment using Facebook(Author doesn't get notification)