自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#對象初始化學習總結(jié)

開發(fā) 后端
這里介紹C#對象初始化,我們可以采用類似于數(shù)組初始化的方式來初始化類的對象,方法就是直接在創(chuàng)建類對象的表達式后面跟上類成員的初始化代碼。

C#3.0中加入的對象構(gòu)造者特性,使得C#對象初始化工作變得格外簡單,我們可以采用類似于數(shù)組初始化的方式來初始化類的對象,方法就是直接在創(chuàng)建類對象的表達式后面跟上類成員的初始化代碼。

以前我們在聲明數(shù)組時,可以同時對其進行初始化,這樣就省去了很多麻煩,但是在創(chuàng)建類的對象時,這招可就不靈了,我們要么調(diào)用該類的構(gòu)造函數(shù)完成C#對象初始化,要么就手工進行初始化。這兩種方法都不太方便,使用構(gòu)造函數(shù)來對對象進行初始化時,我們?yōu)榱四撤N靈活性,可能需要編寫構(gòu)造函數(shù)的多個重載版本,實在是麻煩。

具體示例如下:

  1. classPoint  
  2. {  
  3. publicintX{get;set;}  
  4. publicintY{get;set;}  
  5.  
  6. publicoverridestringToString()  
  7. {  
  8. return"("+X.ToString()+","+Y.ToString()+")";  
  9. }  
  10. }  
  11.  
  12. classRectangle  
  13. {  
  14. publicPointP1{get;set;}  
  15. publicPointP2{get;set;}  
  16.  
  17. publicRectangle()  
  18. {  
  19. P1=newPoint();  
  20. P2=newPoint();  
  21. }  
  22.  
  23. publicoverridestringToString()  
  24. {  
  25. return"P1:"+P1+",P2:"+P2;  
  26. }  
  27. }  
  28.  
  29. classObjectBuilder:AppRunner.AbstractApplication  
  30. {  
  31. publicoverridevoidRun()  
  32. {  
  33. PointthePoint=newPoint(){X=1,Y=2};  
  34. Console.WriteLine("Point(X,Y)={0}",thePoint);  
  35.  
  36. RectangletheRectangle=newRectangle(){  
  37. P1={X=1,Y=1},P2={X=100,Y=200}  
  38. };  
  39. Console.WriteLine(theRectangle);  
  40. }  

我們在定義Point類的X和Y屬性時,只須寫上該屬性的get和set訪問器聲明,C#編譯器會自動為我們生成默認的get和set操作代碼,當我們需要定義簡單屬性時,這個特性非常有用。

我們以new Point() { X = 1, Y = 2 }語句,輕松的完成了對Point類的初始化工作。在創(chuàng)建類的對象時,我們可以按照需要去初始化類的對象,只要在類的創(chuàng)建表達式后跟上要初始化屬性的列表即可,且可以只對需要初始化的屬性賦初值,而無需把所有屬性的初始值都寫上去。

在theRectangle對象的初始化表達式中,我們首先對P1屬性進行初始化,然而P1屬性也是一個自定義的類型,所以P1屬性的初始化是另一個類型(Point)的初始化表達式,我們可以這樣的方式來對更加復雜的類型進行初始化。以上介紹C#對象初始化。

【編輯推薦】

  1. 介紹Mono C#編譯器
  2. C#運算符重載學習總結(jié)
  3. 概述C#語言的結(jié)構(gòu)體
  4. C#遺傳算法學習筆記
  5. 討論C#分部方法
責任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-07-31 17:51:27

C#對象初始化

2009-08-27 10:31:39

C#對象初始化器

2009-08-26 15:28:52

C#對象集合初始化器

2009-09-18 11:15:52

C#數(shù)組初始化

2009-08-24 18:01:45

C#3.0新特性

2009-08-31 10:30:29

C#變量初始化

2009-09-02 16:52:55

C#數(shù)組初始化

2009-09-17 16:06:22

C#數(shù)組初始化

2009-08-13 18:21:52

C#學習筆記

2009-08-28 11:24:48

C#一維數(shù)組初始化

2009-09-17 15:39:56

C#數(shù)組初始化

2009-09-17 16:17:41

C#參差數(shù)組初始化

2011-06-17 15:29:44

C#對象初始化器集合初始化器

2009-08-13 18:13:27

C#學習經(jīng)驗

2009-08-28 11:09:35

C#數(shù)組初始化

2009-08-31 09:47:22

C#靜態(tài)變量初始化

2009-08-20 18:06:18

學習C#接口

2009-09-18 11:33:37

C#二維數(shù)組初始化

2009-08-26 18:28:44

C#數(shù)組

2009-08-31 10:38:34

C#變量初始化
點贊
收藏

51CTO技術(shù)棧公眾號