声明一个数组

可以使用方括号([])初始化语法声明数组并使用默认值填充数组。例如,创建一个包含 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 };