一维数组(C# 编程指南)
使用 new 运算符创建一维数组,该运算符指定数组元素类型和元素数目。 以下示例声明一个包含五个整数的数组:
int[] array = new int[5];
此数组包含从 array[0]
到 array[4]
的元素。 数组元素将初始化为元素类型的默认值,0
代表整数。
数组可以存储指定的任何元素类型,如声明字符串数组的下例所示:
string[] stringArray = new string[6];
数组初始化
可以在声明数组时初始化数组的元素。 不需要长度说明符,因为可以根据初始化列表中的元素数量推断得出。 例如:
int[] array1 = new int[] { 1, 3, 5, 7, 9 };
下面的代码显示一个字符串数组的声明,其中每个数组元素都由一天的名称初始化:
string[] weekDays = new string[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
在声明时初始化数组时,可以避免使用 new
表达式和数组类型,如以下代码所示。 这称为隐式类型化数组:
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
值类型和引用类型数组
请考虑以下数组声明:
SomeType[] array4 = new SomeType[10];
此语句的结果取决于 SomeType
是值类型还是引用类型。 如果它是值类型,该语句将创建一个 10 个元素的数组,其中每个元素的类型都为 SomeType
。 如果 SomeType
是引用类型,该语句将创建一个 10 个元素的数组,其中每个元素都将被初始化为空引用。 在两个实例中,元素均初始化为元素类型的默认值。 有关值类型和引用类型的详细信息,请参阅值类型和引用类型。
从数组中检索数据
可以使用索引来检索数组中的数据。 例如:
string[] weekDays2 = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
Console.WriteLine(weekDays2[0]);
Console.WriteLine(weekDays2[1]);
Console.WriteLine(weekDays2[2]);
Console.WriteLine(weekDays2[3]);
Console.WriteLine(weekDays2[4]);
Console.WriteLine(weekDays2[5]);
Console.WriteLine(weekDays2[6]);
/*Output:
Sun
Mon
Tue
Wed
Thu
Fri
Sat
*/