声明一个数组
可以使用方括号([]
)初始化语法声明数组并使用默认值填充数组。例如,创建一个包含 10 个整数的数组:
int[] arr = new int[10];
C#中的指数是从零开始的。上面数组的索引将是 0-9。例如:
int[] arr = new int[3] {7,9,4};
Console.WriteLine(arr[0]); //outputs 7
Console.WriteLine(arr[1]); //outputs 9
这意味着系统从 0 开始计算元素索引。此外,对数组元素的访问是在恒定时间内完成的。这意味着访问数组的第一个元素与访问第二个元素,第三个元素等具有相同的成本(及时)。
你也可以在不实例化数组的情况下声明对数组的裸引用。
int[] arr = null; // OK, declares a null reference to an array.
int first = arr[0]; // Throws System.NullReferenceException because there is no actual array.
还可以使用集合初始化语法使用自定义值创建和初始化数组:
int[] arr = new int[] { 24, 2, 13, 47, 45 };
声明数组变量时可以省略 new int[]
部分。这不是一个自包含的表达式,因此将其用作不同调用的一部分不起作用(为此,使用带有 new
的版本):
int[] arr = { 24, 2, 13, 47, 45 }; // OK
int[] arr1;
arr1 = { 24, 2, 13, 47, 45 }; // Won't compile
隐式类型数组
或者,结合 var
关键字,可以省略特定类型,以便推断出数组的类型:
// same as int[]
var arr = new [] { 1, 2, 3 };
// same as string[]
var arr = new [] { "one", "two", "three" };
// same as double[]
var arr = new [] { 1.0, 2.0, 3.0 };