zoukankan      html  css  js  c++  java
  • C#3.0 新特性学习笔记(1): 对象集合初始化器

    对象集合初始化器

     一. 介绍
        (1)对象初始化

        如果一个类有public字段,在建立类的对象实例时可以使用下面的代码来初始化这些字段;

        public class PersonInfo
        {
             public string id;
             public string name;
             public string description;
        }

       PersonInfomy = new PersonInfo();
       my.id= “9527”;
       my.name = "Jack Dong";
       my.description = "I am a Software Engineer";

        在C#3.0中提供了一种更简便的方法来初始化这些public变量,代码如下:

        PersonInfomy = new PersonInfo
        {
             id = “9527”,
             name = "Jack Dong";
             description = "I am a Software Engineer";
        };

        上面的代码的写法有些象带参数的构造方法,但这将并不是调用了PersonInfo的构造方法(因为PersonInfo并没有带三个参数的构造方法),

    而只是C#编译器玩的一个魔术。实际上,上面的代码在编译后,仍然和使用传统的初始化字段的方法一样。只是在语法上看起来更简单(至少不

    用写那么多个my)。

     (2)集合初始化

       集合初始化,不需通过ADD方法,以前比如构造个List,都要一个个现在就不用了 .

       在C#3.0中改进了对集合类的初始化方式(使其初始化的方式类似于数组)。但遗憾的是,这种初始化方式只支持用泛型的集合类,也就是说,

       只有实现了System.Collections.Generic. Cllection<T>的集合类才可以使用这种初始化方法。代码如下:

       List<string> myList = new List<string> { "a", "b", "c" };
       foreach (string str myList)
       {
             textBox1.AppendText(str);
       }


     二. 注意点

        使用这种方法进行对象初始化,必须是public的字段(不能是protected、private或默认修饰符的字段)。

  • 相关阅读:
    Python生成二维码
    SSO单点登录
    小说 · 凉生,我们可不可以不忧伤
    RabbitMQ入门教程——.NET客户端使用
    ASP.NET MVC 拓展ActionResult实现Html To Pdf 导出
    ASP.NET MVC 拓展ViewResult实现word文档下载
    RabbitMQ入门教程——安装及配置
    MongoDB学习笔记——分片(Sharding)
    MongoDB学习笔记——Replica Set副本集
    MongoDB学习笔记——Master/Slave主从复制
  • 原文地址:https://www.cnblogs.com/Dlonghow/p/1313290.html
Copyright © 2011-2022 走看看