[转][c#]C# 二维数组到底该如何定义?

问:

网上看了大多数朋友的问题,结果把我给弄糊涂了,C#中二维数组到底应该如何定义呢?哪位朋友能给出权威的回答!谢谢

有人说这样定义:   string[,] arr=new string[12,31]();
也有人说这样定义: string[][] arr=new string[5][5];
还有朲说这样定义: string[,] arr=new string[5][5];
                   string[][] arr new string[5,5]

我都好疯掉了,到底哪种是对的呀?

答:

真正的二维数组只有string[,] arr = new string[12, 31] 没有第二种
至于那个教科书上经常列出来的所谓交叉数组
比如 string[][] ary = new string[5][];
开始我还真以为是微软弄出来什么新的数据结构,后来一想,我靠,这个不就是string[] 类型的一维数组吗,事实上也确实是这样的,就是写法上有点怪异
我一直觉得 string[][] ary = new string[][5]; 这样写才比较合理