// Two-dimensional array.
int[,] array2D = new int[,]
{
{ 1, 2 },
{ 3, 4 },
{ 5, 6 },
{ 7, 8 }
};
// A similar array with string elements.
string[,] array2Db = new string[3, 2]
{
{ "one", "two" },
{ "three", "four" },
{ "five", "six" }
};
// Three-dimensional array.
int[, ,] array3D = new int[,,]
{
{ { 1, 2, 3 }, { 4, 5, 6 } },
{ { 7, 8, 9 }, { 10, 11, 12 } }
};
// The same array with dimensions specified.
int[, ,] array3Da = new int[2, 2, 3]
{
{ { 1, 2, 3 }, { 4, 5, 6 } },
{ { 7, 8, 9 }, { 10, 11, 12 } }
};
Initializing Two-Dimensional Arrays
int [,] a = new int [3,4] {
{0, 1, 2, 3} , /* initializers for row indexed by 0 */
{4, 5, 6, 7} , /* initializers for row indexed by 1 */
{8, 9, 10, 11} /* initializers for row indexed by 2 */
};
Accessing Two-Dimensional Array Elements
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 each array element's value */
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();
}
}
Difference Between Length, Count, Rank
Length
: Total number of elements in an arrayLongLength
: Same asLength
, but returned aslong
(in case it’s >= 231)Count()
: LINQ extension method that works with other collection types as wellRank
: Number of dimensions in array (always1
for vectors). Only in .NET 3.5+.GetLength()
,GetLongLength()
: Length of a certain dimension of an arrayGetLowerBound()
: Starting index of a certain dimension of an array; always0
for vectorsGetUpperBound()
: Ending index of a certain dimension of an array; alwaysLength - 1
for vector
string[,] a = {
{“0”, “1”, “2”},
{“0”, “1”, “2”},
{“0”, “1”, “2”},
{“0”, “1”, “2”},
};
// a.Length = 12
Use Array.Rank to get number of dimensions and then use Array.GetLength(int dimension) to get the length of a specific dimension.
Comments