隐式类型的数组(C# 编程指南)
2017-01-27 00:00
323 查看
可以创建隐式类型的数组,在这样的数组中,数组实例的类型是从数组初始值设定项中指定的元素推断而来的。 有关任何隐式类型变量的规则也适用于隐式类型的数组。 有关更多信息,请参见 隐式类型的局部变量(C# 编程指南)。
在查询表达式中,隐式类型的数组通常与匿名类型以及对象初始值设定项和集合初始值设定项一起使用。
下面的示例演示如何创建隐式类型的数组:
请注意,在上一个示例中,没有在初始化语句的左侧对隐式类型的数组使用方括号。 另请注意,交错数组就像一维数组那样使用 new [] 进行初始化。
对象初始值设定项中的隐式类型的数组
创建包含数组的匿名类型时,必须在该类型的对象初始值设定项中对数组进行隐式类型化。 在下面的示例中,contacts 是一个隐式类型的匿名类型数组,其中每个匿名类型都包含一个名为 PhoneNumbers 的数组。 请注意,对象初始值设定项内部未使用 var 关键字。
在查询表达式中,隐式类型的数组通常与匿名类型以及对象初始值设定项和集合初始值设定项一起使用。
下面的示例演示如何创建隐式类型的数组:
class ImplicitlyTypedArraySample { static void Main() { var a = new[] { 1, 10, 100, 1000 }; // int[] var b = new[] { "hello", null, "world" }; // string[] // single-dimension jagged array var c = new[] { new[]{1,2,3,4}, new[]{5,6,7,8} }; // jagged array of strings var d = new[] { new[]{"Luca", "Mads", "Luke", "Dinesh"}, new[]{"Karen", "Suma", "Frances"} }; } }
class ImplicitlyTypedArraySample { static void Main() { var a = new[] { 1, 10, 100, 1000 }; // int[] var b = new[] { "hello", null, "world" }; // string[] // single-dimension jagged array var c = new[] { new[]{1,2,3,4}, new[]{5,6,7,8} }; // jagged array of strings var d = new[] { new[]{"Luca", "Mads", "Luke", "Dinesh"}, new[]{"Karen", "Suma", "Frances"} }; } }
请注意,在上一个示例中,没有在初始化语句的左侧对隐式类型的数组使用方括号。 另请注意,交错数组就像一维数组那样使用 new [] 进行初始化。
对象初始值设定项中的隐式类型的数组
创建包含数组的匿名类型时,必须在该类型的对象初始值设定项中对数组进行隐式类型化。 在下面的示例中,contacts 是一个隐式类型的匿名类型数组,其中每个匿名类型都包含一个名为 PhoneNumbers 的数组。 请注意,对象初始值设定项内部未使用 var 关键字。
var contacts = new[] { new { Name = " Eugene Zabokritski", PhoneNumbers = new[] { "206-555-0108", "425-555-0001" } }, new { Name = " Hanying Feng", PhoneNumbers = new[] { "650-555-0199" } } };
相关文章推荐
- 隐式类型的数组(C# 编程指南)
- C#编程指南——隐式类型和匿名类型
- 如何:将字节数组转换为 基本类型(C# 编程指南)
- 隐式类型的局部变量(C# 编程指南)(MSDN)
- 泛型类型参数(C# 编程指南)
- 可空类型(C# 编程指南)(FROM MSDN)
- 数组 (C# 编程指南)
- 数组 (C# 编程指南)
- 匿名类型(C# 编程指南)
- 类型参数的约束(C# 编程指南)
- 【转】使用 ref 和 out 传递数组(C# 编程指南)
- c# 泛型 类型参数的约束(C# 编程指南)
- C#隐式类型局部变量&隐式类型数组
- 类型参数的约束(C# 编程指南)(from MSDN)
- 类型参数的约束(C# 编程指南)
- 使用 ref 和 out 传递数组(C# 编程指南)
- C# 3.0语言新特性(语言规范):6 具有隐式类型的数组
- c# 泛型 类型参数的约束(C# 编程指南)
- C# 编程指南(3):语言部分:数据类型
- 可空类型 (C# 编程指南)