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