Muh*_*sal 58 c# arrays multidimensional-array
如何在C#中获取多维数组的行或列的长度?
例如:
int[,] matrix = new int[2,3];
matrix.rowLength = 2;
matrix.colLength = 3;
Run Code Online (Sandbox Code Playgroud)
min*_*dia 131
matrix.GetLength(0) -> Gets the first dimension size
matrix.GetLength(1) -> Gets the second dimension size
Run Code Online (Sandbox Code Playgroud)
Nic*_*rey 19
你看过一个属性Array吗?
Length 给出数组的长度(单元格总数).GetLength(n)为您提供指定维度(相对于0)的单元格数.如果你有一个三维数组:
int[,,] multiDimensionalArray = new int[21,72,103] ;
Run Code Online (Sandbox Code Playgroud)
然后multiDimensionalArray.GetLength(n),对于n = 0,1和2,分别返回21,72和103.
如果您正在构建Jagged /稀疏数组,那么问题会更复杂一些.锯齿状/稀疏数组[通常]构造为数组中嵌套的数组集合.在这种情况下,您需要依次检查每个元素.这些通常是嵌套的一维数组,但没有理由说你不能拥有包含含有5d数组的3d数组的二维数组.
在任何情况下,使用锯齿/稀疏结构,您需要在每个单元格上使用长度属性.
对于二维数组,请使用以下代码:
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);
Run Code Online (Sandbox Code Playgroud)
代码的输出是:
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
Run Code Online (Sandbox Code Playgroud)
此致!