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

Nov*_*per 37 c# arrays

你如何Array.GetLength在C#中使用该功能?

Length属性和GetLength功能有什么区别?

Meh*_*ari 68

GetLength获取一个整数,该整数指定您要查询的数组的维度并返回其长度.Lengthproperty返回数组中的项目总数:

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
Run Code Online (Sandbox Code Playgroud)

  • 在一维数组上,`Length`将返回与`GetLength(0)`相同的值. (14认同)
  • @Mike:原因1和2是一把钥匙. (5认同)
  • @ Neo42 1320 = 10x11x12 (3认同)

Hen*_*man 15

对于一维阵列LengthGetLength(0)完全相同.

对于更高等级的数组Length是所有GetLength(0..Rank-1)值的乘积,换句话说,它总是字段的总数.


小智 10

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

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

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

正如上面所选答案所述,它们不会返回实际的元素值。