const、readonly、static三者怎么在C# 中使用?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
方城ssl適用于網站、小程序/APP、API接口等需要進行數(shù)據傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!理解 const
const 常用來定義一個常量,什么意思呢?就是這個常量在你程序的生命周期內都不會被改變,因此,必須在聲明常量時為其賦值,從技術角度上來說:這個常量值又被稱為 編譯時 值,用 const 定義的變量又被稱為 編譯時 常量,值得注意的是: 這個常量是不可變的,也就是一旦被定義好之后不可以對其進行修改。
下面的代碼片段展示了如何使用 const 去定義這個 編譯時 常量。
const string connectionString = "Specify your database connection string here.";
一定要記住,常量必須在定義的時候給它賦值,同時也要記住不可以用 const 定義 object 類型,因為它只支持 C# 的基元類型,比如:ints, floats, chars, booleans 和 strings,接下來通過一個例子來了解以下為啥不能用 object,考慮下面的 Author 類。
public class Author { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Address { get; set; } }
如果用 const 將 Author 定義為常量的話,編譯器肯定是不同意的,如下圖:
只讀關鍵詞 readonly 常用于將一個變量或者一個對象設置為只讀,意味著這個變量或者對象只能在 類作用域 或者 構造函數(shù) 中被第一次賦值,一旦被賦值后,你就不能通過任何方法對其修改,除了構造函數(shù),接下來看一個例子,考慮下面的 DbManager 類。
public class DbManager { public readonly string connectionString ="Specify your database connection string here."; public DbManager() { connectionString = "You can reassign a value here."; } public void ReAssign() { connectionString = "This is not allowed"; } }
上面的代碼會編譯報錯,錯誤信息如下:
static 關鍵詞可用于 變量,方法,對象。不過值得注意的是: 類中的 static 成員只歸屬于類,而不是類實例,換句話說,可以直接使用類名來訪問靜態(tài)屬性或者靜態(tài)方法,而不是通過類實例訪問,接下來考慮一下 Utility 類。
public class Utility { public static void SomeMethod() { //Write your code here } }
你不可以通過 類實例 去調用,否則編譯器是不會放行的,如下圖:
正確的做法如下:
Utility.SomeMethod();
同樣的規(guī)則也適用于 類中的屬性和字段,要想引用類中的靜態(tài)成員,參考如下語法:
ClassName.Member;
或者
ClassName.Member();
構造函數(shù)也可以是靜態(tài)的,它通常用于初始化類中的靜態(tài)成員,但要注意靜態(tài)構造函數(shù)中不接受任何參數(shù)。
使用 const,readonly,static 的一些經驗法則如下:
如果變量在應用程序的生命周期內不會被改變,請用 const。
如果你不確定這個變量后期是否要被修改,但又不希望其他的類碰它,請用 readonly。
如果你希望類成員是屬于類型而不是類型的實例,請用 static。
看完上述內容,你們掌握const、readonly、static三者怎么在C# 中使用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網站題目:const、readonly、static三者怎么在C#中使用-創(chuàng)新互聯(lián)
轉載來源:http://jinyejixie.com/article40/ccpiho.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、靜態(tài)網站、域名注冊、做網站、面包屑導航、網站收錄
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容