对象初始化器和集合初始化器

对象初始化器和集合初始化器,类似自动属性,一种省事的写法,参见下例绿色部分:

1 namespace Demo
 2 {
 3     class Program
 4     {
 5         static void Main(string[] args)
 6         {
 7             //以前我们可能这么写
 8             //对象
 9             Person p1 = new Person();
10             p1.Name = "Joey";
11             p1.Age = 25;
12             //集合
13             List<Person> ps1 = new List<Person>();
14             Person joey = new Person();
15             joey.Name = "joey";
16             joey.Age = 25;
17             Person zhangSan = new Person();
18             zhangSan.Name = "ZhangSan";
19             zhangSan.Age = 18;
20             //然后加入集合
21             ps1.Add(joey);
22             ps1.Add(zhangSan);
23             //数组
24             int[] a1 = new int[3];
25             a1[0] = 1;
26             a1[1] = 2;
27             a1[2] = 3;
28 
29             //有了初始化器后 我们可以这么写
30             //对象
31             var p2 = new Person { Name = "Joey", Age = 25 };
32 
33             //集合
34             var ps2 = new List<Person> { 
35                 new Person{ Name="Joey", Age=25 },
36                 new Person{Name="ZhangSan", Age=18 }
37             };
38             //数组
39             var a2 = new int[] { 1, 2, 3 };
40         }
41     }
42 
43     public class Person
44     {
45         public int ID { get; private set; }
46 
47         public string Name { get; set; }
48         public int Age { get; set; }
49 
50     }
51 }
原文地址:https://www.cnblogs.com/Finding2013/p/3014739.html