C#新手,之前写程序上网查找了一番,发现关于这个问题,网上的回答很对都有错误,自己试验了一下,在这记录防止自己忘记。
1.
int[,] a = new int[4,5];
System.Console.WriteLine("a.Rank = " + a.Rank);
System.Console.WriteLine("a.GetLength(0) = " + a.GetLength(0));
System.Console.WriteLine("a.GetLength(1) = " + a.GetLength(1));
这里的最后的输出是
a.Rank = 2
a.GetLength(0) = 4
a.GetLength(1) = 5
可以看见,Rank属性获取的是维数不是行数,Getlength()方法获取的是指定的维度长度,这里关于行列纵深的说法都可以统一为说第一位长度,第二维长度,可以避免混淆。
2.
C#中一个多维的数组,是强制为矩形或者长方体的,即是说每个维度中各个“行”的长度是必须一样的
int[,] b;
b = new int[,] { { 1, 2 }, { 2 } };
这样的初始化就会刨除异常。