C#对象初始化器描述

C#新语言特性有很多值得学习的地方,这里我们主要介绍C#对象初始化器,包括介绍基于泛型的类型为User的List集合等方面。

成都创新互联专业为企业提供郫都网站建设、郫都做网站、郫都网站设计、郫都网站制作等企业网站建设、网页设计与制作、郫都企业网站模板建站服务,10年郫都做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

C#对象初始化器 (Object Initializers) :

.NET2.0框架中的类型非常依赖于属性。当生成对象实例和使用新的类型时,在.Net2.0时候我们像这样写:

 
 
 
 
  1. User user = new User();  
  2. user.Id = 1;  
  3. user.Name = "YJingLee";  
  4. user.Age = 22

在VS2008中,编译器会自动地生成合适的属性setter代码,使得原来几行的属性赋值操作可以在一行完成。我们可以这样简化:像这样,对象初始化器由一系列成员对象组成,其对象必须初始化,用逗号间隔,使用{}封闭。

 
 
 
 
  1. User user = new User { Id = 1Name = "YJingLee"Age = 22 }; 

又例如,我把二个人加到一个基于泛型的类型为User的List集合中:

 
 
 
 
  1. List user = new List{  
  2. new User{Id=1,Name="YJingLee",Age=22},  
  3. new User{Id=2,Name="XieQing",Age=25},  
  4. }; 

如果有相同名字和类型的两个对象初始化器将会产生相同的实例,可以相互赋值。例如:

 
 
 
 
  1. User user = new User { Id = 1Name = "YJingLee"Age = 22 };  
  2. User user2 = new User { Id = 2Name = "XieQing"Age = 25 };  
  3. user = user2;  

除了在初始化类时设置简单的属性值外,C#对象初始化器特性也允许我们设置更复杂的嵌套(nested)属性类型。例如我们可以在上面定义的User类型同时拥有一个属于Address类型的叫“Address”的属性:

 
 
 
 
  1. User user = new User  
  2. {  
  3. Id = 1,  
  4. Name = "YJingLee",  
  5. Age = 22,  
  6. Address = new Address  
  7. {  
  8. City = "NanJing",  
  9. Zip = 21000 
  10. }  
  11. }; 

【编辑推荐】

  1. C# const常量详细介绍
  2. C# Lambda表达式学习笔记
  3. C#隐式类型局部变量经验总结
  4. 调用C# Thread.Start()方法
  5. C# CheckStatus()方法

网页标题:C#对象初始化器描述
网站路径:http://www.hantingmc.com/qtweb/news44/515244.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联