18.2 数组的类型

在C#语言中,数组可分为一维数组、矩形数组(又叫“多维数组”)以及交错数组。为了便于理解,可以把矩形数组和交错数组想象为一个特殊的一维数组,该数组的每个元素都是一个数组,叫做子数组,如果子数组的长度都相同,则为矩形数组,反之则为交错数组。需要注意的是,矩形数组和交错数组在结构上是不同的,通过图18-2也可以看到,矩形数组和交错数组的声明方式也是不同的。这里仅仅是为了帮助大家理解而打的比喻,实际上矩形数组和交错数组有很多不同,具体可参阅第18.8节。

对这三种数组类型介绍如下:

❑一维数组:一维数组可以包含若干个数据元素,只有一个维度,如:int[]array=new int[5];

❑矩形数组:数组可以具有多个维度。例如,下列声明创建一个四行两列的二维数组:int[,]array=new int[4,2];

❑交错数组:数组的元素也是数组,因此也称做“数组的数组”,交错数组元素的大小和维度均可以不同。下列声明创建一个由3个元素组成的一维数组,其中每个元素都是一个一维整数数组:


int[][]jaggedArray=new int[3][];

jaggedArray[0]=new int[5];

jaggedArray[1]=new int[4];

jaggedArray[2]=new int[2];


我们再提供一些数组类型的示例,如代码清单18-1所示。

代码清单18-1 各种数组类型的示例


int[]array1=new int[10];//一维数组

int[,]array2=new int[3,3];//二维矩形数组

int[,]array3=new int[3,3,3];//三维矩形数组

int[][]array4=new int[2][];//交错数组


图18-3对于各种类型的数组给予了图示说明,以方便大家理解。

18.2 数组的类型 - 图1

图 18-3 各种类型的数组图示