zoukankan      html  css  js  c++  java
  • C# 对象初始化器和集合初始化器

    /// <summary>
    /// 图书类
    /// </summary>
    public class Book
    {
        /// <summary>
        /// 图书名称
        /// </summary>
        public string Title { get; set; }
        /// <summary>
        /// 单价
        /// </summary>
        public float Price { get; set; }
        /// <summary>
        /// 作者
        /// </summary>
        public string Author { get; set; }
        /// <summary>
        /// ISBN号
        /// </summary>
        public string ISBN { get; set; }
    }
    //对象初始化器
    Book book = new Book{ Title="Inside COM",ISBN="123-456-789"};

    注意:要使用对象初始化器,那么这个对象必须有一个无参构造方法,如果你给这个方法写了一个有参构造方法而将它的默认无参构造方法覆盖了并且没有提供一个新的无参构造方法,那么使用对象初始化器编译的时候是不会通过的

    //集合初始化器

    IList<Book> books = new List<Book>();
    //这里就使用了对象初始化器,学以致用吧
    books.Add(new Book { Title = "Inside COM", ISBN = "123-456-789",Price=20 });
    books.Add(new Book { Title = "Inside C#", ISBN = "123-356-d89",Price=100 });
    books.Add(new Book { Title = "Linq", ISBN = "123-d56-d89", Price = 120 });

    应用集合初始化器就更简洁了

    IList<Book> users= new List<Book>{ 

    new Book{ Title = "Inside COM", ISBN = "123-456-789",Price=20}); 

    new Book{Title = "Inside C#", ISBN = "123-356-d89",Price=100 });

    new Book{ Title = "Linq", ISBN = "123-d56-d89", Price = 120});  

    }  

  • 相关阅读:
    [转]Object Tracking using OpenCV (C++/Python)(使用OpenCV进行目标跟踪)
    [转]PIL、Pillow安装使用方法
    [转]痞子衡嵌入式:飞思卡尔Kinetis开发板OpenSDA调试器那些事(上)
    如何选择开源许可证?
    年复一年
    [转]TLD目标跟踪算法
    [转]pycharm中将ui文件转换成py文件
    ps矫正倾斜的扫描件内容
    ORM增删改查
    ORM配置
  • 原文地址:https://www.cnblogs.com/1955/p/7865220.html
Copyright © 2011-2022 走看看