ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 一维数组(C# 编程指南) 可按下面的示例所示声明五个整数的一维数组。 ``` int[] array = new int[5]; ``` 此数组包含从 array[0] 到 array[4] 的元素。 [new](https://msdn.microsoft.com/zh-cn/library/51y09td4.aspx) 运算符用于创建数组并将数组元素初始化为它们的默认值。在此例中,所有数组元素都初始化为零。 可以用相同的方式声明存储字符串元素的数组。例如: ``` string[] stringArray = new string[6]; ``` ## 数组初始化 可以在声明数组时将其初始化,在这种情况下不需要级别说明符,因为级别说明符已经由初始化列表中的元素数提供。例如: ``` int[] array1 = new int[] { 1, 3, 5, 7, 9 }; ``` 可以用相同的方式初始化字符串数组。下面声明一个字符串数组,其中每个数组元素用每天的名称初始化: ``` string[] weekDays = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; ``` 如果在声明数组时将其初始化,则可以使用下列快捷方式: ``` int[] array2 = { 1, 3, 5, 7, 9 }; string[] weekDays2 = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; ``` 可以声明一个数组变量但不将其初始化,但在将数组分配给此变量时必须使用 **new** 运算符。例如: ``` int[] array3; array3 = new int[] { 1, 3, 5, 7, 9 }; // OK //array3 = {1, 3, 5, 7, 9}; // Error ``` C# 3.0 引入了隐式类型的数组。有关更多信息,请参见 [隐式类型的数组(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/bb384090.aspx)。 ## 值类型数组和引用类型数组 请看下列数组声明: ``` SomeType[] array4 = new SomeType[10]; ``` 该语句的结果取决于 SomeType 是值类型还是引用类型。如果为值类型,则语句将创建一个有 10 个元素的数组,每个元素都有 SomeType 类型。如果 SomeType 是引用类型,则该语句将创建一个由 10 个元素组成的数组,其中每个元素都初始化为空引用。 有关值类型和引用类型的更多信息,请参见[类型(C# 参考)](https://msdn.microsoft.com/zh-cn/library/3ewxz6et.aspx)。 ## 请参阅 [Array](https://msdn.microsoft.com/zh-cn/library/system.array.aspx) [C# 编程指南](https://msdn.microsoft.com/zh-cn/library/67ef8sbd.aspx) [数组(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/9b9dty7d.aspx) [多维数组(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/2yd9wwz4.aspx) [交错数组(C# 编程指南)](https://msdn.microsoft.com/zh-cn/library/2s05feca.aspx)