获取C#中多维数组的行/列长度

时间:2012-02-22 23:08:15

标签: c# arrays multidimensional-array

如何在C#中获取多维数组的行或列的长度?

例如:

int[,] matrix = new int[2,3];

matrix.rowLength = 3;
matrix.colLength = 2;

5 个答案:

答案 0 :(得分:115)

matrix.GetLength(0)  -> Gets the first dimension size

matrix.GetLength(1)  -> Gets the second dimension size

答案 1 :(得分:18)

您是否查看了Array的属性?

  • Length为您提供数组的长度(单元格总数)。
  • GetLength(n)为您提供指定维度(相对于0)的单元格数。如果你有一个三维数组:

    int[,,] multiDimensionalArray = new int[21,72,103] ;
    

    然后multiDimensionalArray.GetLength(n),对于n = 0,1和2,分别返回21,72和103.

如果你正在构建Jagged /稀疏数组,那么问题会更复杂一些。锯齿状/稀疏数组[通常]被构造为数组内嵌套的数组集合。在这种情况下,您需要依次检查每个元素。这些通常是嵌套的一维数组,但没有理由说你不能拥有包含含有5d数组的3d数组的二维数组。

在任何情况下,使用锯齿状/稀疏结构,您需要在每个单元格上使用长度属性。

答案 2 :(得分:2)

对于二维数组,请使用以下代码:

var array = new int[,]
{
    {1,2,3,4,5,6,7,8,9,10 },
    {11,12,13,14,15,16,17,18,19,20 }
};
var row = array.GetLength(0);
var col = array.GetLength(1);

代码输出为:

  • 行= 2
  • col = 10

n-d数组语法类似于上面的代码:

var d1 = array.GetLength(0);   // size of 1st dimension
var d2 = array.GetLength(1);   // size of 2nd dimension
var d3 = array.GetLength(2);   // size of 3rd dimension
.
.
.
var dn = array.GetLength(n-1);   // size of n dimension

最好的问候!

答案 3 :(得分:2)

对于2d数组,请使用以下语法array.GetLength(dim)

例如:

int dim1 = array.GetLength(0);   // first dimension
int dim2 = array.GetLength(1);   // second dimension

答案 4 :(得分:1)

使用matrix.GetLowerBound(0)matrix.GetUpperBound(0)