偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

以前我們在聲明數(shù)組時(shí),可以同時(shí)對其進(jìn)行初始化,這樣就省去了很多麻煩,但是在創(chuàng)建類的對象時(shí),這招可就不靈了,我們要么調(diào)用該類的構(gòu)造函數(shù)完成C#對象初始化,要么就手工進(jìn)行初始化。這兩種方法都不太方便,使用構(gòu)造函數(shù)來對對象進(jìn)行初始化時(shí),我們?yōu)榱四撤N靈活性,可能需要編寫構(gòu)造函數(shù)的多個(gè)重載版本,實(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屬性時(shí),只須寫上該屬性的get和set訪問器聲明,C#編譯器會自動(dòng)為我們生成默認(rèn)的get和set操作代碼,當(dāng)我們需要定義簡單屬性時(shí),這個(gè)特性非常有用。

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

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

【編輯推薦】

  1. 介紹Mono C#編譯器
  2. C#運(yùn)算符重載學(xué)習(xí)總結(jié)
  3. 概述C#語言的結(jié)構(gòu)體
  4. C#遺傳算法學(xué)習(xí)筆記
  5. 討論C#分部方法
責(zé)任編輯:佚名 來源: 博客園
相關(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-09-17 16:06:22

C#數(shù)組初始化

2009-08-31 10:30:29

C#變量初始化

2009-09-02 16:52:55

C#數(shù)組初始化

2009-08-13 18:21:52

C#學(xué)習(xí)筆記

2009-09-17 16:17:41

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

2009-09-17 15:39:56

C#數(shù)組初始化

2009-08-28 11:24:48

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

2009-08-13 18:13:27

C#學(xué)習(xí)經(jīng)驗(yàn)

2009-08-20 18:06:18

學(xué)習(xí)C#接口

2011-06-17 15:29:44

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

2009-09-18 11:33:37

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

2009-08-26 18:28:44

C#數(shù)組

2009-08-31 10:38:34

C#變量初始化

2009-08-31 09:47:22

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

2009-08-28 11:09:35

C#數(shù)組初始化
點(diǎn)贊
收藏

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