数组是什么?
可以将同一类型的多个变量存储在一个数组数据结构中。通过指定数组的元素类型来声明数组。如果希望数组存储任意类型的元素,可将其类型指定为object。在C#的统一类型系统中,所有类型(预定义类型、用户定义类型、引用类型和值类型)都是直接或间接从Object继承的。
数组具有以下属性:
- 数组可以是一维、多维或交错的
- 创建数组实例时,将建立纬度数量和每个纬度的长度。这些值在实例的生存期内无法更改
- 数值数组元素的默认值设置为0,而引用元素设置为null
- 数组从0开始编制索引:包含n元素的数组从0索引到n-1
- 数组元素可以是任何类型,其中包括数组类型
- 数组元素是从抽象的基类型Array派生的引用类型。可以使用foreach语句循环访问数组
对于值类型,使用默认值(0位模式)初始化数组元素,元素将具有值0
所有引用类型(包括不可为null类型)都具有值null
对于可谓null的类型,HasValue设置为false,元素将设置为null
一、一维数组
使用new运算符创建一维数组,该运算符指定数组元素类型和元素数目。
以下示例声明一个包含三个整数的数组:
int[] ints1 = new int[3];
此数组包含从array[0]到array[2]的元素.数组的元素将初始化为元素类型对的默认值,0代表整数。
数组可以存储指定的任意元素类型,如声明字符串类型的数组:
string[] strings = new string[3];
数组的初始化不单单只有指定数组元素的长度,还可以在声明初始化数组的元素:
int[] int3 = { 1, 2, 3 };
字符串类型的数组也是如此:
string[] fruit = { "西瓜", "哈密瓜", "甜瓜" };
在声明初始化数组的时候,不使用new表达式和数组类型,这称为隐式类型化数组:
int[] int3 = { 1, 2, 3 };
string[] fruit = { "西瓜",