交错数据没有二维的概念,它就是普通的数组向量,只不过每一个数组单元是另一个数组而已。 许多语言没有二维数组,例如标准c语言,c语言的“二维数组”其实就是交错数组,而不是c#所说的二维数组。
[quote=引用 1 楼 caozhy 的回复:] 当然不一样,因为交错数组的第一层,保存的是数组对象的引用 正因为这样,你才可以将一个长度不同的数组传给交错数组,同时不用搬动其它元素。 而二维数组的本质和一维数组一样,连续存储,可以直接寻址。 看这个: int[][] arr1 = new int[][] { new int[] { 1, 2 }, new int[] { 3, 4 }, new int[] { 5, 6 } }; int[,] arr2 = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 } }; arr1[1] = new int[] { 1, 2, 3, 4 };
当然不一样,因为交错数组的第一层,保存的是数组对象的引用 正因为这样,你才可以将一个长度不同的数组传给交错数组,同时不用搬动其它元素。 而二维数组的本质和一维数组一样,连续存储,可以直接寻址。 看这个: int[][] arr1 = new int[][] { new int[] { 1, 2 }, new int[] { 3, 4 }, new int[] { 5, 6 } }; int[,] arr2 = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 } }; arr1[1] = new int[] { 1, 2, 3, 4 };
111,092
社区成员
642,554
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧