C#3.0语言新特性之隐式类型
2009-03-09 08:19:50 来源:WEB开发网最后我们需要了解的一点是,var 关键字并不意味着“变体”,也不表示该变量是松散类型化变量或后期绑定变量。它只是表示由编译器确定和分配最适当的类型。
20.1.2 隐式类型数组
到现在,我们一直都在数组声明的开始处显式指定数组类型。然而,在C# 3.0中,和其他局部变量一样,数组也可以是隐式类型的。也就是说,当初始化数组时,我们可以让编译器根据初始化器的类型来推断数组类型。只要所有初始化器能隐式转换为单个类型,就可以这么做。
和隐式类型的局部变量一样,使用var关键字来替代数组类型。有了这个特性,将使我们创建数组的工作变得简单。我们可以直接使用"new[]"关键字来声明数组,后面跟上数组的初始值列表。在这里,我们并不需要直接指定数组的类型,数组的类型是由初始化列表推断出来的。
如下的声明都是合法的:
class Program
{
static void Main()
{
// int[]
var a = new[] { 1, 10, 100, 1000 };
// string[]
var b = new[] { "hello", null, "world" };
// int型交错数组
var c = new[]
{
new[]{1,2,3,4},
new[]{5,6,7,8}
};
// string型交错数组
var d = new[]
{
new[]{"Luca", "Mads", "Luke", "Dinesh"},
new[]{"Karen", "Suma", "Frances"}
};
}
}
更多精彩
赞助商链接