看来这两个声明是一样的:
int[] array1 = {11, 22, 33};
Run Code Online (Sandbox Code Playgroud)
和
int[] array2 = new int[] {11, 22, 33};
Run Code Online (Sandbox Code Playgroud)
但是new int[]第二个样本中这个部分的需求是什么 ?
它有所不同吗?
Jon*_*eet 11
在这种情况下没有区别 - 但第一种语法仅在声明变量时可用.从C#4规范部分12.6:
可以在字段声明,局部变量声明和数组创建表达式中指定数组初始值设定项.
("数组初始值设定项"是大括号中的位 - 数组创建表达式是您指定的形式new int[]或其他形式.)
当你没有声明局部变量或字段时(例如,如果你将参数传递给方法)你必须使用第二种形式,或者从C#3.0你可以使用隐式类型数组:
Foo(new[] { 1, 2, 3} );
Run Code Online (Sandbox Code Playgroud)