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" };

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

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

  • 相关阅读:
    C#替换双引号
    Oracle 12c创建用户时出现“ORA-65096: invalid common user or role name”的错误
    Oracle 12c中文乱码,修改字符集的方法
    ORACLE 12C PDB 维护基础介绍
    spilt用法简介
    Log4net简介
    Log4net创建日志及简单扩展
    [转]ASP.NET MVC 入门11、使用AJAX
    对象池简单实现
    Android webview “location.replace” 不起作用
  • 原文地址:https://www.cnblogs.com/my36z/p/1403716.html
Copyright © 2011-2022 走看看