如何在C#中获取多维数组的行或列的长度?
例如:
int[,] matrix = new int[2,3];
matrix.rowLength = 2;
matrix.colLength = 3;
如何在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)中单元格的数量。如果你有一个三维数组:
int[,,] multiDimensionalArray = new int[21,72,103] ;
如果你构建的是多维数组,那么 multiDimensionalArray.GetLength(n)
将会分别对于 n = 0、1 和 2 返回 21、72 和 103。
如果你正在构造不规则/稀疏数组,那么问题就稍微复杂了一些。不规则/稀疏数组通常是作为一个嵌套的数组集合来构造的。在这种情况下,你需要逐个元素进行检查。这些通常是嵌套的一维数组,但是也可能有二维数组包含三维数组,再包含五维数组等等。
无论如何,在使用不规则/稀疏结构时,你需要使用每个单元格上的长度属性。
对于二维数组,请使用以下代码:
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);
代码的输出结果如下:
对于N维数组,语法与上述代码类似:
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)
。