zoukankan      html  css  js  c++  java
  • C# 3.x的新特性系列总结

    1. Anonymous Type

    Anonymous Type允许我们定义一个对象并初始化一组任意的属性列表,而这个对象对应的Type并不是预先定义的。比如:
    var v = new{ID = Guid.NewGuid(), Name= "Zhang San" };

    2. Extension Method

    通过
    E xtension Method,我们可以不改变Type定义的前提下对其方法成员进行扩展:我们在另一个Type中定一个一个特性的Static 方法,使之作为这个TypeE xtension Method,这样的方法可以象其它方法一样的方法进行调用。LINQOperator,比如WhereFromOrder by等,都是通过这样的进行定义的。

     3. Lambda Expression

    Lambda Expression被广泛使用到LINQ中,其本质就是一个Delegate。在这部分中,我将介绍Lambda Expression是如何通过一个Delegate来实现的。

       4. Automatically Impemented Property

    有了Automatically Implemented Property,我们可以简化传统的private field + public property的属性定义方式,就像这样:

    public class Vector {
        
    public double X getset; }
        
    public double Y getset; }
     }
     

    5. Object Initializer & Collection Initializer

    Object Initializer & Collection Initializer是我将对象的创建和初始化合二为一:通过Object Initializer使用一次调用创建一个对象和初始化其属性成员,通过Collection Initializer在创建Collection对象的时候同时初始化该Collection的初始成员:

    Vector v = new Vector { X = 1, Y = 2 };            

    IList
    <string> list = new List<string> "Zhang San""Li Si""Wang Wu" };
  • 相关阅读:
    IndexDB
    实现es6中的set和map
    视口viewport
    nginx入门
    http协议
    图像格式
    promise
    js中this指向
    CSS 7阶层叠水平
    C# 一个方法如何返回多个值
  • 原文地址:https://www.cnblogs.com/tommyli/p/1368064.html
Copyright © 2011-2022 走看看