• λ我爱Aspx >> Asp.Net >> Visual C# 3.0 新特性概览 (二)
  • Visual C# 3.0 新特性概览 (二)

  • :未知  Դ:internet  :2007-5-20 16:43:26  ؼ:c#
  • 对象和collection初始化符

    C# 3.0被希望来允许你包含一个初始化符,从而指定一个新创建的对象或者collection的初始值。这使得你能够一步结合声明和初始化。

    举例来说,你可以这样定义CoOrdinate类:

    public class CoOrdinate

    {

    public int x ;

    public int y;

    }

    你然后可以使用一个对象初始化符来声明和初始化一个CoOrdinate对象,就像这样:

    var myCoOrd = new CoOrdinate{ x = 0, y= 0} ;

    也许你要问,为什么不要像下面这样做呢?

    var myCoOrd = new CoOrdinate(0, 0) ;

    注意:我从来没有为我的类声明过一个接受两个参数的构造器。事实上,使用一个对象初始化符来初始化对象等同于调用一个无参数(缺省)构造器并且给相关量赋值。

    类似的,在C#3.0里你可以轻松的用一种更加简洁的方式给collection赋值,如下的C# 2.0的代码:

    list<string> animals = new List<string>();

    animals.Add("monkey");

    animals.Add("donkey");

    animals.Add("cow");

    animals.Add("dog");

    animals.Add("cat");

    可以缩短为:

    list<string> animals = new List<string> {"monkey", "donkey", "cow", "dog", "cat" } ;

    Lambda表达式:匿名方法的浓咖啡

    Ҷƪл˵?
  • һƪASP.NET 2.0 中收集的小功能点
    һƪVisual C# 3.0 新特性概览(一)