一维数组和矩形数组
数组实例是从System,Array继承类型的对象。由于数组从BCL基类派生而来,它们也继承
了BCL基类中很多有用的成员,如下所示。
- Rank返回数组维度数的属性。
- Length返回数组长度(数组中所有元素的个数)的属性。
数组是引用类型。与所有引用类型一样,数组有数据的引用以及数据对象本身。引用在栈或
堆上,而数组对象本身总是在堆上。图13-3演示了数组的内存配置和组成部分。

尽管数组总是引用类型,但是数组的元素既可以是值类型也可以是引用类型。
- 如果存储的元素都是值类型,数组被称作值类型数组。
- 如果存储在数组中的元素都是引用类型对象,数组被称作引用类型数组。
图13-4演示了值类型数组和引用类型数组。

一维数组和矩形数组
一维数组和矩形数组的语法非常相似,因此一并介绍,稍后再单独介绍交错数组。
声明一维数组或矩形数组
要声明一维数组或矩形数组,可以在类型和变量名称之间使用一对方括号。
方括号内的逗号就是秩说明符,它们指定了数组的维度数。秩就是逗号数量加1。比如,没
有逗号代表一维数组,一个逗号代表二维数组,以此类推。
基类和秩说明符构成了数组类型。例如,如下代码行声明了long的一维数组。数组类型是
long[],读作"long数组"。

如下代码展示了矩形数组声明的示例。注意以下几点。
- 可以使用任意多个秩说明符。
- 不能在数组类型区域中放数组维度长度。秩是数组类型的一部分,而维度长度不是类型
的一部分。 - 数组声明后,维度数就是固定的了。然而,维度长度直到数组实例化时才会确定。
说明 和C/C++不同,方括号在基类型后,而不是在变量名称后。