18.4 实例化数组

数组在使用前必须先进行实例化。要实例化数组,可以使用new运算符。下面的示例展示如何创建一维或矩形数组,交错数组将在18.7节进行介绍。

下面我们将学习每种类型数组的实例化方法,包括示例代码和示意图。

1.一维数组

array1是一个值类型的一维数组,数组的类型为int,数组长度为5。

tools是一个引用类型的一维数组,数组的类型为自定义类型:ToolItem,数组的长度为3。如下为示例代码:


int[]array1=new int[5];//一维值类型数组

ToolItem[]tools=new ToolItem[3];//一维引用类型数组


array1和tools数组在内存中的布局如图18-5所示。

18.4 实例化数组 - 图1

图 18-5 一维数组的声明和实例化

2.矩形数组

array2是一个值类型的二维数组,再强调一次,数组声明部分不允许出现数组中的各维度长度的定义,长度只能出现在赋值运算符的右侧——数组实例化表达式中。也就是说,只能在数组实例化的时候定义数组各维度的长度,此时数组大小的定义也是必需的,必须提供。

array3是一个值类型的三维数组,数组的类型为int,数组长度为3×3×3=27。

moreTools是一个引用类型的三维数组,数组的类型为自定义类型ToolItem,数组的长度为2×2×2=8。

以上三个示例数组如下所示:


//二维值类型矩形数组

int[,]

array2=new int[3,3];

//三维值类型矩形数组

int[,]array3=new int[3,3,3];

//三维引用类型矩形数组

ToolItem[,]moreTools=new ToolItem[2,2,2];


上述3个数组在内存中的布局如图18-6所示。

18.4 实例化数组 - 图2

图 18-6 矩形数组的声明和实例化

最后要说明的是,数组一旦被实例化,那么数组的维度以及各维度的长度就不可以再改变。