Array.GetLength()和Array.Length有什么区别?

时间:2010-01-11 20:10:20

标签: c# arrays

如何在C#中使用Array.GetLength函数?

Length属性和GetLength函数有什么区别?

5 个答案:

答案 0 :(得分:64)

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

答案 1 :(得分:14)

对于一维数组LengthGetLength(0)完全相同。

对于排名较高的数组Length是所有GetLength(0..Rank-1)值的乘积,换句话说,它始终是字段的总数。

答案 2 :(得分:4)

GetLength返回多维数组的指定维度的长度。

长度返回所有维度中元素总数的总和。

  • 对于一维数组,Length == GetLength(0)
  • 对于二维数组,长度== GetLength(0)* GetLength(1)

答案 3 :(得分:2)

.Length属性返回数组中元素的数量,无论是一维还是多维。那是一个2x6数组,长度为12。

.GetLength(0)方法返回多维数组中行方向的元素数。对于2x6数组,其值为2。

.GetLength(1)方法返回多维数组中列方向上的元素数。对于6的2x6数组。

这些不返回实际的元素值,如上面选择的答案所述。

答案 4 :(得分:0)

在数学术语中,我们称为m行和n列,因此结果是二维数组的m * n的乘积。在这种情况下,RabbitMQ <== Flume Source ==> Sink ==> Cassandra. 行和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