C# 中交错数组和二维数组的区别

原文: C# 交错数组

   轩总

交错数组与二维数组的区别,可以直观的理解为交错数组每一行的长度是可以不一样的。

如果说二维数组像是唐诗,那么交错数组就是宋词,每一句的长短没有限制。

// 声明一个交错数组 a,a 中有三个元素,分别是 a[0],a[1],a[2] 每个元素都是一个数组
int[][] a = new int[3][]; 
//以下是声明交错数组的每一个元素的,每个数组的长度可以不同
a[0] = new int[] { 1,2,3 };
a[1] = new int[] { 4,5,6,7,8 };
a[2] = new int[] { 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 };
更多解析

  CuteLad

C# 中的交错数组可以用 C/C++ 中的二维数组的定义来理解——数组的数组。

(借用楼上的笔记代码)

int[][] a = new int[3][];

这句话定义了 a 是一个数组的数组:

然后 a 的每个元素分别是:

a[0] = new int[] { 1,2,3 };
a[1] = new int[] { 4,5,6,7,8 };
a[2] = new int[] { 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 };

然后在使用的时候 a[1][2] 可以理解为 (a[1])[2],即先计算 a[1] 获得 a 的第 2 个元素(一个数组),然后从这个整型数组中获取第 3 个元素。

  王风

C# 中的交错数组和二维数组的区别,还有一点的是:交错数组是一维数组,二维数组不是。看代码:

string[,] test1 = new string[,] { { "test1", "test2" }, { "test1", "test2" } };
string[][] test2 = new string[2][]{ new string[] {"test1","test2"},
                                      new string[] { "test3","test4"} };
Console.WriteLine("维度="+test1.Rank);     // 维度=2
Console.WriteLine("维度="+test2.Rank);     // 维度=1

通过使用 Array 类的方法,可以得知交错数组是一维数组,二维数组是二维数组。

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

点我查看本站打赏源码!

忘记密码?

如何获取邀请码?

关闭