浅谈C#对象和集合

C#对象和集合

创新互联专注于企业营销型网站建设、网站重做改版、稷山网站定制设计、自适应品牌网站建设、H5页面制作商城网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为稷山等各大城市提供网站开发制作服务。

我们知道在C#2.0中要初始化一个对象可以用构造器,或者声明公有属性,然后在new一个对象之后在对属性赋值。必须一步一步的来,在C#3.0中可以有一种很简单的方法对C#对象和集合进行初始化工作。

看个例子:

 
 
 
  1. public class Point ...{  
  2. int x, y;  
  3. public int X ...{ get ...{ return x; } set ...{ x = value; } }  
  4. public int Y ...{ get ...{ return y; } set ...{ y = value; } }  
  5. }  
  6.  
  7. var a = new Point ...{ X = 0, Y = 1 };  
  8. //相当于:var a = new Point(); a.X = 0; a.Y = 1;  
  9.  
  10. //集合初始化器:  
  11. List num= new List ...{ 0, 1, 2, 6, 7, 8, 9 };  
  12. //相当于:ICollection.Add(T),即num.Add(0),... 

我们明显的看到初始化工作又被简单化了。注意这里用到的技术仍然是编译时技术,也就是编译器会在背后替你做好多工作。而不是运行时的技术。

从上面我们可以看出来,一个对象要想像上面的那种形式初始化,必须满足几个条件:首先必须得有公有的无参构造器,否则编译器就无法new出一个对象,更别说初始化了。其次在进行赋值的时候,这些属性必须是共有的。这点就不必解释了。

如果想看看背后编译器做了哪些工作,我们可以用ILDasm对上面的代码进行反汇编,就可以看到背后自动生成的一些东西了。以上介绍C#对象和集合。

名称栏目:浅谈C#对象和集合
标题来源:http://www.shufengxianlan.com/qtweb/news2/259302.html

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

广告

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