繁体   English   中英

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

[英]How to get the length of row/column of multidimensional array in C#?

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

例如:

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

matrix.rowLength = 2;
matrix.colLength = 3;
matrix.GetLength(0)  -> Gets the first dimension size

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

您是否查看过Array的属性?

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

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

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

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

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

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

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
  • 列 = 10

for nd 数组语法类似于上面的代码:

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)

也可以使用:matrix.GetUpperBound(0);//行 matrix.GetUpperBound(1);//columns

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM