int[] 一维数组
int[,] 二维数组
int[,,] 三维数组
int[] [] 交错数组 又称“数组的数组”
一维数组声明与初始化
声明:
int[] a = new int[];
声明与初始化:
1 int array1 = new int[] {1,2,3,4}; 2 int array1 = {1,2,3,4}; // 快捷声明和初始化的方式
不初始化的情况下声明数组变量,但必须使用 new
运算符向此变量分配数组
1 int[] array3; 2 array3 = new int[] { 1, 3, 5, 7, 9 }; // OK 3 // array3 = {1, 3, 5, 7, 9}; // Error
声明
1 int[,] array = new int[2,4] 2 int[,,] array2 = new int[2,5,4]
声明初始化
1 int array2D = new int[,] { [1,2}, {3,4}, {3,5}} 2 int[,] array2Da = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 } }; 3 int[,,] array3D = new int[,,] { { { 1, 2, 3 }, { 4, 5, 6 } }, { { 7, 8, 9 }, { 10, 11, 12 } } }; 4 int[,,] array3D =new int[2,2,3]{ { { 1, 2, 3 }, { 4, 5, 6 } }, { { 7, 8, 9 }, { 10, 11, 12 } } };
如果选择在不初始化的情况下声明数组变量,则必须使用
new
运算符将数组赋予变量 1 int[,] array5; 2 array5 = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; // OK 3 //array5 = {{1,2}, {3,4}, {5,6}, {7,8}}; // Error
交错数组是元素为数组的数组。 交错数组元素的维度和大小可以不同。
声明:
int[][] jaggedArray = new int[3][];
初始化:
jaggedArray[0] = new int[5]; jaggedArray[1] = new int[4]; jaggedArray[2] = new int[2];
每个元素都是一维整数数组。 第一个元素是由 5 个整数组成的数组,第二个是由 4 个整数组成的数组,而第三个是由 2 个整数组成的数组。
1 int[][] jaggedArray = new int[][]{ 2 new int[]{1,3,4,5}, 3 new int[] {0,2,4}, 4 new int[] {2,4} 5 };
或者
1 int[][] jaggedArray ={ 2 new int[]{1,3,4,5}, 3 new int[] {0,2,4}, 4 new int[] {2,4} 5 }
多维数组与交错数组 理解上是没有多大的差异的,交错数组实际上实现了多维数组的差异化,使用的时候更加自由。
在C#编译里面,多维数组和差异数组是无法隐性转换的。 作为参数的时候要注意统一。