C# Multidimensional arrays

C# Arrays

C# supports multidimensional arrays. Multidimensional arrays are also called rectangular arrays.

You can declare a two-dimensional array of string variables, as follows:

string [,] names;

Alternatively, you can declare a three-dimensional array of int variables, as follows:

int [ , , ] m;

Two-dimensional array

The simplest form of a multidimensional array is a two-dimensional array. A two-dimensional array is, in essence, a list of one-dimensional arrays.

A two-dimensional array can be thought of as a table with x rows and y columns. Below is a two-dimensional array with 3 rows and 4 columns:

C# 中的二维数组

Therefore, each element in the array is identified by an element name of the form a[i, j], where a is the array name, and i and j are the subscripts that uniquely identify each element in a.

Initialize two-dimensional array

Multidimensional arrays can be initialized by specifying values for each row within the brackets. Below is an array with 3 rows and 4 columns.

int [,] a = new int [3,4] {
 {0, 1, 2, 3} ,   /*  初始化索引号为 0 的行 */
 {4, 5, 6, 7} ,   /*  初始化索引号为 1 的行 */
 {8, 9, 10, 11}   /*  初始化索引号为 2 的行 */
};

Accessing 2D array elements

Elements in a two-dimensional array are accessed by using subscripts, namely the row index and column index of the array. For example:

int val = a[2,3];

The statement above will retrieve the element in the 3rd row and 4th column of the array. You can verify this with the diagram above. Let's look at the following program, where we will use nested loops to process a two-dimensional array:

Example

using System;

namespace ArrayApplication
{
    class MyArray
    {
        static void Main(string[] args)
        {
            /* An array with 5 rows and 2 columns */
            int[,] a = new int[5, 2] {{0,0}, {1,2}, {2,4}, {3,6}, {4,8} };

            int i, j;

            /* Output the value of each element in the array */
            for (i = 0; i < 5; i++)
            {
                for (j = 0; j < 2; j++)
                {
                    Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]);
                }
            }
           Console.ReadKey();
        }
    }
}

When the above code is compiled and executed, it produces the following result:

a[0,0]: 0
a[0,1]: 0
a[1,0]: 1
a[1,1]: 2
a[2,0]: 2
a[2,1]: 4
a[3,0]: 3
a[3,1]: 6
a[4,0]: 4
a[4,1]: 8

C# Arrays

other extensions