C#语言开发团队在C# 3.0中增加了一个名为"对象初始化器"(object initializer)的特性 ,它能初始化一个对象中的所有允许访问的字段和属性。别以为这和你没关系。我们先来看一个你非常熟悉不过的代码。
User operator=new User(); operator.ID=1; operator.Pwd=1; operator.Name="操作员"
以前是不是大家都像上面一样写代码。现在c#3.0以后我们有了更简单的方法。
<pre name="code" class="csharp">User operator = new User(ID = 1, ,Name = "操作员",Pwd= 1;);
初始化多个对象属性的时候,对象初始化器帮了不少忙。那么初始化多个对象的时候,我们也自然有了集合初始化器。如下。
我们先看一个应用了对象初始化器而还没用集合初始化器的一段程序。
IList<User> users= new List<User>(); users.Add(new User{ID=1,Name="王老师",Pwd=1}); users.Add(new User{ID=2,Name="李老师",Pwd=1}); users.Add(new User{ID=3,Name="马老师",Pwd=1});
应用了集合初始化器之后就更加的简洁了。
IList<User> users= new List<User>{ new User{ID=1,Name="王老师",Pwd=1}); new User{ID=2,Name="李老师",Pwd=1}); new User{ID=3,Name="马老师",Pwd=1}); }
Var a=new {ID=1,Pwd=1;}
你看,以前我们要先实例化一个对象,才能给属性赋值。它是必要条件。而现在,显然不是了。
原文地址:http://blog.csdn.net/u010176014/article/details/44276371