// C# 3.0 前
Book b = new Book(); b.Title = "Inside C#"; b.ISBN = "123"; b.Price = 100;
// C# 3.0
Book b = new Book { Title = "Inside C#", ISBN = "123", Price = 100 };
// 舊寫法
var books = new List();
books.Add(new Book { Title = "A", ISBN = "1", Price = 10 });
books.Add(new Book { Title = "B", ISBN = "2", Price = 20 });
// 新寫法
var books = new List {
new Book { Title = "A", ISBN = "1", Price = 10 },
new Book { Title = "B", ISBN = "2", Price = 20 }
};
List <>g__initLocal0 = new List();
Book <>g__initLocal1 = new Book();
<>g__initLocal1.Title = "A"; <>g__initLocal1.ISBN = "1"; <>g__initLocal1.Price = 10;
<>g__initLocal0.Add(<>g__initLocal1);
Book <>g__initLocal2 = new Book();
<>g__initLocal2.Title = "B"; <>g__initLocal2.ISBN = "2"; <>g__initLocal2.Price = 20;
<>g__initLocal0.Add(<>g__initLocal2);
// ...
var x = new { Key="k", Value="v" };。無此語法,匿名類型將難以初始化,影響 LINQ 投影運算。