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

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

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

  • 相关阅读:
    关于头文件
    函数重载和函数模板
    引用和内联函数
    OpenCV中图像处理
    MFC中关于子进程创建和关闭操作
    MFC中的CListControl控件
    MFC中Picture控件显示图像
    MFC CString 和int相互转化
    MFC下拉框
    MFC中关于CListBox控件添加水平滚动条
  • 原文地址:https://www.cnblogs.com/my36z/p/1403716.html
Copyright © 2011-2022 走看看