(十九)C#编程基础复习——交错数组

发布时间 2023-11-15 17:27:19作者: 代号六零一

C#中的交错数组其实就是元素为数组的数组,换句话说就是交错数组中的每个元素都可以是维度和大小不同的数组,所以有时交错数组也称为“数组的数组”。这一节比较复杂,用到的时候可以再深入挖掘,多敲代码练习总会出奇迹。

一、声明交错数组

交错数组声明语法:

data_type[][]array_name;

假如要声明一个具有三个元素的一维交错数组,并且数组中的每个元素都是一个一维的整型数组,示例如下:

int [] [] arr=new int [3][];

二、初始化交错数组

和普通数组相同,交错数组也需要初始化后才可以使用,可以使用下面的方式初始化一个交错数组。

int [] [] arr=new int [3][];//定义一个交错数组
arr[0]=new int[5];//对数组的第一个元素初始化
arr[1]=new int[4];//对数组的第二个元素初始化
arr[2]=new int[2];//对数组的第三个元素初始化

上面的交错数组中包含三个元素,第一个元素使长度为5的整型数组,第二个元素使长度为4的整型数组,第三个元素是长度为2的整型数组。

除了上面的方法外,还可以直接使用具体的值来填充数组,这种情况下就不需要再设定数组的大小了,如下:

int [][] arr=new int [3][];//定义一个交错数组
arr[0]=new int[]{1,2,3,4,5};
arr[1]=new int []{6,7,8,9};
arr[2]=new int []{10,11};

还可以在声明数组时,直接将数组初始化,如下:

int [][] arr=new int [][]{new int []{1,2,3,4,5},new int []{6,7,8,9},new int []{10,11}};

上面的声明方式还有一种简写方式,如下:

int [][]arr={new int[]{1,2,3,4,5},new int []{6,7,8,9},new int []{10,11}};

注意:不能从元素初始化中省略new运算符,因为不存在元素的默认初始化。

三、访问数组中的元素

以上面定义的交错数据arr为例,可以使用如下所示的方法来获取数组中的每个元素或者为指定的元素赋值:

int a=arr[0][1];//变量a的值为:2
arr[2][1]=0;    //将交错数组中第三个数组元素中的第二个元素赋值为0

四、交错数组和多维数组

交错数组中的元素不仅可以是一维数组,还可以是多维数组,例如下面的代码定义了一个包含三个二维数组元素的一维交错数组:

int [][,] arr=new int[3][,]{new int[,]{{1,1},{2,3}},new int[,]{{5,8},{13,21},{34,55}},new int[,]{{89,144},{233,344},{610,987}}};

对于这样的交错数组,在访问数组中的每个元素时也需要做出相应的改变,如下:

int a=arr[1][1,1];//变量a的值为21
int b=arr[2][0,0];//变量b的值为89