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

本文关键字:数组 获取 | 更新日期: 2023-09-27 18:25:25

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

例如:

int[,] matrix = new int[2,3];
matrix.rowLength = 2;
matrix.colLength = 3;

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

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

您看过Array的属性吗?

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

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

    则对于n=0、1和2,multiDimensionalArray.GetLength(n)将分别返回21、72和103。

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

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

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

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

谨致问候!

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

您还可以使用:矩阵GetUpperBound(0)//行矩阵GetUpperBound(1)//列

相关文章: