C# 交错数组
交错数组是数组的数组。您可以声明一个带有 int 值的交错数组 scores,如下所示:
int [][] scores;
声明一个数组不会在内存中创建数组。创建上面的数组:
int[][] scores = new int[5][]; for (int i = 0; i < scores.Length; i++) { scores[i] = new int[4]; }
您可以初始化一个交错数组,如下所示:
int[][] scores = new int[2][]{new int[]{92,93,94},new int[]{85,66,87,88}};
其中,scores 是一个由两个整型数组组成的数组 -- scores[0] 是一个带有 3 个整数的数组,scores[1] 是一个带有 4 个整数的数组。
实例
下面的实例演示了如何使用交错数组:
using System; namespace ArrayApplication { class MyArray { static void Main(string[] args) { /* 一个由 5 个整型数组组成的交错数组 */ int[][] a = new int[][]{new int[]{0,0},new int[]{1,2}, new int[]{2,4},new int[]{ 3, 6 }, new int[]{ 4, 8 } }; int i, j; /* 输出数组中每个元素的值 */ for (i = 0; i < 5; i++) { for (j = 0; j < 2; j++) { Console.WriteLine("a[{0}][{1}] = {2}", i, j, a[i][j]); } } Console.ReadKey(); } } }
当上面的代码被编译和执行时,它会产生下列结果:
a[0][0] = 0 a[0][1] = 0 a[1][0] = 1 a[1][1] = 2 a[2][0] = 2 a[2][1] = 4 a[3][0] = 3 a[3][1] = 6 a[4][0] = 4 a[4][1] = 8
轩总
104***4136@qq.com
交错数组与二维数组的区别,可以直观的理解为交错数组每一行的长度是可以不一样的。
如果说二维数组像是唐诗,那么交错数组就是宋词,每一句的长短没有限制。
轩总
104***4136@qq.com
CuteLad
298***8957@qq.com
C# 中的交错数组可以用 C/C++ 中的二维数组的定义来理解——数组的数组。
(借用楼上的笔记代码)
这句话定义了 a 是一个数组的数组:
然后 a 的每个元素分别是:
然后在使用的时候 a[1][2] 可以理解为 (a[1])[2],即先计算 a[1] 获得 a 的第 2 个元素(一个数组),然后从这个整型数组中获取第 3 个元素。
CuteLad
298***8957@qq.com
王风
185***439@qq.com
C# 中的交错数组和二维数组的区别,还有一点的是:交错数组是一维数组,二维数组不是。看代码:
通过使用 Array 类的方法,可以得知交错数组是一维数组,二维数组是二维数组。
王风
185***439@qq.com