-
慕田峪9158850
这些是简单数组的当前声明和初始化方法。string[] array = new string[2]; // creates array of length 2, default valuesstring[] array = new string[] { "A", "B" }; // creates populated array of length 2string[] array = { "A" , "B" }; // creates populated array of length 2string[] array = new[] { "A", "B" }; // created populated array of length 2注意,还有其他获取数组的技术,例如LinqToArray()扩展到IEnumerable<T>.还请注意,在上面的声明中,前两个可以替换string[]在左边var(C#3+),因为右边的信息足以推断出正确的类型。第三行必须按显示方式编写,因为仅靠数组初始化语法还不足以满足编译器的要求。第四种方法也可以使用推理。因此,如果您对整个简洁的事情感兴趣,那么上面的内容可以写成var array = new string[2]; // creates array of length 2, default valuesvar array = new string[] { "A", "B" }; // creates populated array of length 2string[] array = { "A" , "B" }; // creates populated array of length 2var array = new[] { "A", "B" }; // created populated array of length 2
-
哔哔one
C#中的数组创建语法是表达是:new int[3]new int[3] { 10, 20, 30 }new int[] { 10, 20, 30 }new[] { 10, 20, 30 }在第一种情况下,大小可以是任何非负积分值,并且数组元素被初始化为默认值。在第二种情况下,大小必须是常数,给定的元素数必须匹配。必须有从给定元素到给定数组元素类型的隐式转换。在第三种情况下,元素必须隐式转换为元素类型,大小由给定的元素数决定。在第四种类型中,数组元素的类型是通过计算具有类型的所有给定元素中的最佳类型(如果存在的话)来推断的。所有元素都必须隐式转换为该类型。大小由给定的元素数决定。这个语法是在C#3.0中引入的。还有一种语法只能在声明中使用:int[] x = { 10, 20, 30 };元素必须隐式转换为元素类型。大小由给定的元素数决定。没有一个一刀切的指南我请您参阅C#4.0规范,第7.6.10.4节“数组创建表达式”。
-
一只名叫tom的猫
非空数组var data0 = new int[3]var data1 = new int[3] { 1, 2, 3 }var data2 = new int[] { 1, 2, 3 }var data3 = new[] { 1, 2, 3 }var data4 = { 1, 2, 3 }是不可编译的。使用int[] data5 = { 1, 2, 3 }相反。空阵列var data6 = new int[0]var data7 = new int[] { }var data8 = new [] { }和int[] data9 = new [] { }是不可编译的。var data10 = { }是不可编译的。使用int[] data11 = { }相反。作为一种方法的论证属性分配的表达式。var关键字可以作为参数传递。Foo(new int[2])Foo(new int[2] { 1, 2 })Foo(new int[] { 1, 2 })Foo(new[] { 1, 2 })Foo({ 1, 2 })不可编译Foo(new int[0])Foo(new int[] { })Foo({})不可编译