C# Multidimensional 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:
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
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]: 8other extensions