В чем разница между Array.GetLength() и Array.Length?
Как вы используете функцию Array.GetLength
в С#?
В чем разница между свойством Length
и функцией GetLength
?
Ответы
Ответ 1
GetLength
принимает целое число, определяющее размерность массива, который вы запрашиваете, и возвращает его длину. Свойство Length
возвращает общее количество элементов в массиве:
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
Ответ 2
Для одномерных массивов Length
и GetLength(0)
точно такие же.
Для массивов более высокого ранга Length
является произведением всех значений GetLength(0..Rank-1)
, другими словами, это всегда общее число полей.
Ответ 3
GetLength возвращает длину указанного размера мулитномерного массива.
Длина возвращает сумму общего количества элементов во всех измерениях.
- Для одномерного массива Length == GetLength (0)
- Для двумерного массива Length == GetLength (0) * GetLength (1)
и др.
Ответ 4
В математическом терминах мы называем m строк и n столбцов, поэтому результаты являются произведением m * n для двумерного массива. В этом случае строки GetLength(0) = m
и столбцы GetLength(1)= n
. Например, см. Ниже пример
string[,] stocks ={{"RELIND","Reliance Industries","1006.30"},{"TATMOB","Tata Mobiles","504.10"},{"ALST","Allstate","800.00"}, {"GE","GE Motors","810.00"}
};
Массивы запасов возвращают GetLength(0)= 4
и GetLength(1)=3
и length =12