中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中怎么構造函數

發布時間:2021-12-02 11:59:25 來源:億速云 閱讀:127 作者:iii 欄目:編程語言

本篇內容介紹了“C#中怎么構造函數”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

C#構造函數大體上分為靜態C#構造函數和實例C#構造函數,實例C#構造函數當然就是在實例化類的時候執行,理解起來比較簡單,而靜態C#構造函數有些特別:
靜態C#構造函數只執行一次,在C#中,靜態C#構造函數一般在***次調用類的成員之前執行.編寫類的靜態C#構造函數的一個原因是,類有一些靜態字段或屬性,需要在***次使用類之前,從外部源中初始化這些靜態字段或屬性..NET運行庫沒有確保靜態C#構造函數什么時候執行,但至多運行一次  

靜態C#構造函數不能帶任何參數,沒有訪問修飾符,其他C#代碼從來不調用它 總是由C#運行庫調用,所以修飾符沒有任何意義,,一個類只能有一個靜態C#構造函數,靜態C#構造函數只能訪問類的靜態成員,不能訪問實例成員

如果提供了帶參數的C#構造函數,編譯器不會自動提供默認的C#構造函數,只有在沒有定義任何C#構造函數時,編譯器才會提供默認的C#構造函數。
靜態C#構造函數在加載類時執行,而實例C#構造函數在創建類的實例時執行,所以可以在類中安全共存,即使參數列表相同

(2)從其他C#構造函數中調用C#構造函數

有時候在一個類中有幾個C#構造函數,以容納某些可選參數,這些C#構造函數包含了一些公同代碼,例:

class car    ...{      private string description;      private unit wheels;      public Car(string model,unit nWheels)      ...{         this.desciption=description;          this.nWheels=nWheels;      }     public car(string model)     ...{         this.description=description;         this.nWheels=4;     }   }

上面類中的兩個C#構造函數初始化了相同的字段,C#有一個特殊的語法把上面的所有代碼都方到一起,稱C#構造函數初始化器可以實現:

class car    ...{      private string description;      private unit wheels;      public Car(string model,unit nWheels)    ...{         this.desciption=description;          this.nWheels=nWheels;      }     public car(string model) :this(model,4)    ...{            }   }

上面的this關鍵字僅僅調用參數最匹配的那個C#構造函數,這里要注意:構造初始化器在C#構造函數之前執行!!!

假定運行下面代碼:

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

“C#中怎么構造函數”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

弥渡县| 宁阳县| 友谊县| 秭归县| 合山市| 政和县| 舒城县| 朔州市| 兴和县| 民和| 宝兴县| 宁远县| 长海县| 武城县| 霍州市| 吴忠市| 杭锦旗| 工布江达县| 雅安市| 调兵山市| 金秀| 高平市| 瑞昌市| 茌平县| 绥棱县| 阿拉善左旗| 阜康市| 铜鼓县| 蓝田县| 藁城市| 汾阳市| 涪陵区| 怀仁县| 辽中县| 蒲江县| 沅陵县| 新沂市| 莎车县| 文成县| 和平县| 富蕴县|