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

}