C#多维数组的行列数维数获取及初始化问题

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 } };

这样的初始化就会刨除异常。

发布了19 篇原创文章 · 获赞 2 · 访问量 5176

猜你喜欢

转载自blog.csdn.net/gunjiu4462/article/details/81234412
今日推荐