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

學(xué)習(xí)C#構(gòu)造函數(shù)的一點(diǎn)體會(huì)

開(kāi)發(fā) 后端
學(xué)習(xí)C#構(gòu)造函數(shù)的時(shí)候會(huì)遇到那些概念呢?學(xué)習(xí)C#構(gòu)造函數(shù)的時(shí)候會(huì)有什么常見(jiàn)的問(wèn)題呢?那么本文就向你介紹這方面的情況。

學(xué)習(xí)C#構(gòu)造函數(shù)的筆記:

C#構(gòu)造函數(shù)大體上分為靜態(tài)C#構(gòu)造函數(shù)和實(shí)例C#構(gòu)造函數(shù),實(shí)例C#構(gòu)造函數(shù)當(dāng)然就是在實(shí)例化類(lèi)的時(shí)候執(zhí)行,理解起來(lái)比較簡(jiǎn)單,而靜態(tài)C#構(gòu)造函數(shù)有些特別:
靜態(tài)C#構(gòu)造函數(shù)只執(zhí)行一次,在C#中,靜態(tài)C#構(gòu)造函數(shù)一般在***次調(diào)用類(lèi)的成員之前執(zhí)行.編寫(xiě)類(lèi)的靜態(tài)C#構(gòu)造函數(shù)的一個(gè)原因是,類(lèi)有一些靜態(tài)字段或?qū)傩?需要在***次使用類(lèi)之前,從外部源中初始化這些靜態(tài)字段或?qū)傩?.NET運(yùn)行庫(kù)沒(méi)有確保靜態(tài)C#構(gòu)造函數(shù)什么時(shí)候執(zhí)行,但至多運(yùn)行一次   

靜態(tài)C#構(gòu)造函數(shù)不能帶任何參數(shù),沒(méi)有訪(fǎng)問(wèn)修飾符,其他C#代碼從來(lái)不調(diào)用它 總是由C#運(yùn)行庫(kù)調(diào)用,所以修飾符沒(méi)有任何意義,,一個(gè)類(lèi)只能有一個(gè)靜態(tài)C#構(gòu)造函數(shù),靜態(tài)C#構(gòu)造函數(shù)只能訪(fǎng)問(wèn)類(lèi)的靜態(tài)成員,不能訪(fǎng)問(wèn)實(shí)例成員

如果提供了帶參數(shù)的C#構(gòu)造函數(shù),編譯器不會(huì)自動(dòng)提供默認(rèn)的C#構(gòu)造函數(shù),只有在沒(méi)有定義任何C#構(gòu)造函數(shù)時(shí),編譯器才會(huì)提供默認(rèn)的C#構(gòu)造函數(shù)。
靜態(tài)C#構(gòu)造函數(shù)在加載類(lèi)時(shí)執(zhí)行,而實(shí)例C#構(gòu)造函數(shù)在創(chuàng)建類(lèi)的實(shí)例時(shí)執(zhí)行,所以可以在類(lèi)中安全共存,即使參數(shù)列表相同 

(2)從其他C#構(gòu)造函數(shù)中調(diào)用C#構(gòu)造函數(shù)

有時(shí)候在一個(gè)類(lèi)中有幾個(gè)C#構(gòu)造函數(shù),以容納某些可選參數(shù),這些C#構(gòu)造函數(shù)包含了一些公同代碼,例:

  1. class car    
  2. ...{   
  3.    private string description;   
  4.    private unit wheels;   
  5.    public Car(string model,unit nWheels)   
  6.    ...{   
  7.       this.desciption=description;    
  8.       this.nWheels=nWheels;   
  9.    }   
  10.   public car(string model)   
  11.   ...{   
  12.       this.description=description;   
  13.       this.nWheels=4;   
  14.   }   
  15. }  

上面類(lèi)中的兩個(gè)C#構(gòu)造函數(shù)初始化了相同的字段,C#有一個(gè)特殊的語(yǔ)法把上面的所有代碼都方到一起,稱(chēng)C#構(gòu)造函數(shù)初始化器可以實(shí)現(xiàn):

  1. class car    
  2. ...{   
  3.    private string description;   
  4.    private unit wheels;   
  5.    public Car(string model,unit nWheels)   
  6.  ...{   
  7.       this.desciption=description;    
  8.       this.nWheels=nWheels;   
  9.    }   
  10.   public car(string model) :this(model,4)   
  11.  ...{   
  12.        
  13.   }   

上面的this關(guān)鍵字僅僅調(diào)用參數(shù)最匹配的那個(gè)C#構(gòu)造函數(shù),這里要注意:構(gòu)造初始化器在C#構(gòu)造函數(shù)之前執(zhí)行?。。?/P>

假定運(yùn)行下面代碼:

  1. Car myCar=new Car(\"Proton Persona\");   

學(xué)習(xí)C#構(gòu)造函數(shù)的一點(diǎn)體會(huì)就向你介紹到這里,希望對(duì)你學(xué)習(xí)C#構(gòu)造函數(shù)有所幫助。

【編輯推薦】

  1. C#指針使用簡(jiǎn)析
  2. C#結(jié)構(gòu)學(xué)習(xí)的詳細(xì)介紹
  3. 關(guān)于C#結(jié)構(gòu)的一些認(rèn)識(shí)
  4. C#構(gòu)造函數(shù)與C++的區(qū)別淺析
  5. C#構(gòu)造函數(shù)的運(yùn)用淺析
責(zé)任編輯:仲衡 來(lái)源: 中國(guó)自學(xué)編程網(wǎng)
相關(guān)推薦

2009-08-27 17:50:09

interface接口

2009-09-09 10:53:25

C# MessageB

2009-08-28 16:30:24

C#線(xiàn)程

2009-08-14 11:29:28

C#創(chuàng)建Windows

2009-09-03 14:28:23

C#日期格式化

2009-08-18 17:34:25

C#操作符重載應(yīng)用

2009-09-14 16:00:51

LINQ基本操作LINQ

2009-08-18 17:20:17

C#操作符重載

2009-08-19 11:23:12

C#操作Word

2012-07-12 10:49:53

項(xiàng)目管理

2009-08-18 13:06:17

C#枚舉類(lèi)型

2009-08-17 18:15:23

C# 枚舉使用

2009-07-31 14:15:38

C# 構(gòu)造函數(shù)

2009-08-24 18:09:13

C#構(gòu)造函數(shù)

2009-07-30 15:24:13

C#析構(gòu)函數(shù)C#構(gòu)造函數(shù)

2009-08-13 17:38:42

C#構(gòu)造函數(shù)

2009-09-04 11:15:07

選擇C#構(gòu)造函數(shù)

2009-08-20 14:28:00

C#靜態(tài)構(gòu)造函數(shù)

2009-07-31 15:37:45

C#靜態(tài)構(gòu)造函數(shù)

2009-07-31 15:44:02

C#靜態(tài)構(gòu)造函數(shù)
點(diǎn)贊
收藏

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