C#多级数组 奇怪的写法
int[][,][,,] a = new int[1][,][,,];
上述就是C#定义多级数组的写法!
这个写法很奇怪!!!
我本来想表达:
假设obj=int[][,]
然后obj[,,]
定义一个三维的obj数组
但C#实际表达的是:
通过a.GetType().Name
得到的结果是:Int32[,,][,][]
对C#表示无力吐槽!!!
哪个大佬能解释一下C#为什么这么设计?
回答
你这说的不清不楚的
你是不是觉得 声明一个数组就是在类型后面加方括号,像这样
// 声明一个包含三个数字的数组var arr = new int[3];
然后声明数组的数组应该是再往后加方括号
// 声明一个包含三个数组的数组,错误的写法var arr = new int[][3];
为什么实际是这种写法:
// 声明一个包含三个数组的数组,正确的写法var arr = new int[3][];
为什么顺序反过来了对吧?因为他的逻辑根本就是多维数组的逻辑,按照第一维第二维第三维这样的顺序排的,这个语法顺序跟
var arr = new int[3,4,5];
保持一致。
以上是 C#多级数组 奇怪的写法 的全部内容, 来源链接: utcz.com/a/60905.html