什么是数组?
- 可以将同一类型的多个变量存储在一个数组数据结构中。 通过指定数组的元素类型来声明数组。 如果希望数组存储任意类型的元素,可将其类型指定为
- object。 在 C# 的统一类型系统中,所有类型(预定义类型、用户定义类型、引用类型和值类型)都是直接或间接从 Object 继承的。
- 数组具有以下属性:
- 数组可以是一维、多维或交错的。
- 声明数组变量时设置维度数。 创建数组实例时,将建立每个维度的长度。 这些值在实例的生存期内无法更改。
- 交错数组是数组数组,每个成员数组的默认值为null。
- 数组从零开始编制索引:包含 n 元素的数组从 0 索引到 n-1。
- 数组元素可以是任何类型,其中包括数组类型。
- 数组类型是从抽象的基类型 Array 派生的引用类型。 所有数组都会实现IList和IEnumerable。 可以使用 foreach 语句循环访问数组。 单维数组还实现了 IList 和 IEnumerable。
声明数组
- 定义有个数组其实很简单:
- datatype:指数组的数据类型。
- [] :指定数组的秩(维度)。秩指定数组的大小。
- arrayName:指定数组的名称
初始化数组
- 当声明有个数组后,这个数组是不含任何值的,赋值,所以我们需要将数组初始化,来使得数组能够被赋值。
- 数组是一个引用类型,所以您需要使用 new 关键字来创建数组的实例。
例如:
- 其中 [ 5 ]:表示将这个数组初始化为5大小,也就是说数组内有5个元素(也可以被作为索引)。
- 当然,[ ] 内也可以不填,如果填写了,那么在没赋值前,值全都为零。
1 2
| int[] arrayInt; arrayInt = new int[5];
|
数组赋值
声明一个数组不会在内存中初始化数组。当初始化数组变量时,您可以赋值给数组。
数组是一个引用类型,所以您需要使用 new 关键字来创建数组的实例。
- 方式一:利用索引进行单个赋值(被称之为:显式初始化)
1 2
| int[] arrayInt; arrayInt[0] = 5;
|
// 输出效果
1 2 3 4 5
| >>>5 >>>0 >>>0 >>>0 >>>0
|
- 方式二:在声明数组的同时给数组赋值(无法指定数组的大小)(也被称之为:隐式初始化)
1
| int[] arrayInt = {1, 5, 5, 3, 8};
|
// 输出效果
1 2 3 4 5 6
| >>>1 >>>5 >>>5 >>>3 >>>8
|
- 方式三:创建并初始化一个数组,可指定数组大小。
1
| int[] arrayInt = new int[] {4, 5, 2, 7, 9};
|
// 输出效果
1 2 3 4 5
| >>>4 >>>5 >>>2 >>>7 >>>9
|
- 方式四:作为变量赋值给其他数组,(相当于int a=2;b= )
1 2
| int[] arrayInt = new int[] {4, 5, 2, 7, 9}; int[] arrayInt_2 = arrayInt;
|
// 输出效果
1 2 3 4 5
| >>>4 >>>5 >>>2 >>>7 >>>9
|
补充
1
| int[] arrayInt = new int[] {1, 3, 5, 6, 6]
|
- 注意:前面的中括号[ ]表示是声明数组,后面的中括号[ ]才表示是指定数组大小。
- 当指定了数组的大小后,在赋值时不允许超过指定的大小。