WEB开发网
开发学院软件开发C语言 C#3.0语言新特性之隐式类型 阅读

C#3.0语言新特性之隐式类型

 2009-03-09 08:19:50 来源:WEB开发网   
核心提示: 最后我们需要了解的一点是,var 关键字并不意味着“变体”,C#3.0语言新特性之隐式类型(2),也不表示该变量是松散类型化变量或后期绑定变量,它只是表示由编译器确定和分配最适当的类型,在这里,我们并不需要直接指定数组的类型,20.1.2隐式类型数组到现在,我们一直

最后我们需要了解的一点是,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"}

            };

        }

    }

Tags:语言 特性 类型

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接