What is the difference between Array.GetLength() and Array.Length?
GetLength
takes an integer that specifies the dimension of the array that you're querying and returns its length. Length
property returns the total number of items in an array:
int[,,] a = new int[10,11,12];
Console.WriteLine(a.Length); // 1320
Console.WriteLine(a.GetLength(0)); // 10
Console.WriteLine(a.GetLength(1)); // 11
Console.WriteLine(a.GetLength(2)); // 12
For 1-dimensional arrays Length
and GetLength(0)
are exactly the same.
For arrays of higher rank Length
is the product of all GetLength(0..Rank-1)
values, in other words it is always the total number of fields.