在编程的世界里,数组是一种非常重要的数据结构。今天,我们就来详细了解一下一维数组和矩形数组。
数组基础认知
数组实例是从 System.Array 继承类型的对象。由于它从 BCL 基类派生而来,所以继承了许多有用的成员:
- Rank 属性:用于返回数组的维度数。
- Length 属性:返回数组的长度,也就是数组中所有元素的个数。
需要注意的是,数组属于引用类型。和其他引用类型一样,数组有数据的引用以及数据对象本身。引用可能存于栈或堆上,但数组对象本身一定在堆上。
数组的元素既可以是值类型,也可以是引用类型。当存储的元素都是值类型时,该数组被称作值类型数组;若存储的元素都是引用类型对象,则被称作引用类型数组。
一维数组和矩形数组的声明
一维数组和矩形数组的语法较为相似,下面我们来看看如何声明它们。 要声明一维数组或矩形数组,需在类型和变量名称之间使用一对方括号。方括号内的逗号是秩说明符,其作用是指定数组的维度数。秩等于逗号数量加 1,例如没有逗号代表一维数组,一个逗号代表二维数组,依此类推。基类和秩说明符共同构成了数组类型。
一维数组声明示例
比如声明 long 的一维数组,代码如下:
long[] myArray;
这里数组类型是 long[],读作“long 数组”。
矩形数组声明示例
矩形数组声明有以下要点:
- 可以使用任意多个秩说明符。
- 不能在数组类型区域中指定数组维度长度,因为秩是数组类型的一部分,而维度长度并非类型的一部分。
- 数组声明后,维度数就固定了,但维度长度要到数组实例化时才会确定。
示例代码如下:
int[,] twoDArray;
int[,,] threeDArray;
另外,和 C/C++ 不同,在 C# 里方括号是放在基类型后面,而不是变量名称后面。
通过以上内容,相信大家对一维数组和矩形数组的声明有了更清晰的认识。后续我们还会单独介绍交错数组,敬请期待。