zoukankan      html  css  js  c++  java
  • 回顾C#3.0新特性(1)

    一 隐式类型的本地变量和数组

    新的关键字var,声明变量相当于object类型,但是又更方便不需要类型转换

    二 对象和集合初始值设定项

    创建对象时初始化值
    Cat cat = new Cat;
    cat.Age = 10;
    cat.Name = "Sylvester";
    简化为
    Cat cat = new Cat { Age = 10, Name = "Sylvester" };
    利用这个特性还可以重命名LINQ
    var productInfos =
    from p in products
    select new { p.ProductName, Price = p.UnitPrice };
     
    集合初始值设定项
    Cat c1 = new Cat();
    c1.Name = "Sylvester";
    c1.Age = 8;
    List<Cat> cats = new List<Cat>
    {
        c1
    };
    简化为
    List<Cat> cats = new List<Cat>
    {
        new Cat(){ Name="Sylvester", Age=8 },
        new Cat(){ Name="Whiskers", Age=2},
        null
    };
    将集合初始值设定项用于可为 null 的结构会导致编译时错误?

    三 匿名类型

    前两个特性综合一下。

    既然

    Cat cat = new Cat { Age = 10, Name = "Sylvester" };

    那么

    var cat = new Cat { Age = 10, Name = "Sylvester" };

    也成立了。然后这就叫匿名类型。。。

    主要是省去了类的定义,方便一次性使用。

  • 相关阅读:
    未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.ServiceModel.Activation.HttpModule”。
    服务代理的关闭与并发会话的限制
    批量插入数据利器之SqlBulkCopy
    VS 生成 dll、exe 版本号与SVN版本号一致
    DataTable / DataSet 与 xml 的相互转换
    C# 操作嵌入的资源
    【WCF安全】使用X509证书自定义验证
    预先生事件和后期生成命令事件
    (转)利用WPF的ListView进行大数据量异步加载
    (转)SQL知识_SqlParameter数组
  • 原文地址:https://www.cnblogs.com/my36z/p/1403716.html
Copyright © 2011-2022 走看看