看到一些零星的知識(shí)片,今天就用自己的理解說(shuō)明下,也是因?yàn)樘?jiǎn)單了,一下就過(guò)的,也是我們?nèi)粘i_(kāi)發(fā)中常用。留下一個(gè)腳印,當(dāng)書(shū)不在手上的,也能翻出來(lái)看看。說(shuō)下屬性訪問(wèn)器、命名空間和pragma指令。
屬性訪問(wèn)器在01.C#數(shù)據(jù)類(lèi)型、排序、過(guò)濾(一章1.1-1.2)有所提到,在C#3后可以使用修飾符去修飾屬性的取值和賦值,也可以使用加入一些驗(yàn)證,如下:
1 class Plant 2 { 3 private double Height = 0.0; 4 5 //是否需要修剪 6 public bool canTrim 7 { 8 get 9 {10 if (Height > 5.5)11 {12 return true;13 }14 return false;15 }16 }17 }當(dāng)一棵植物的高度超過(guò)5.5時(shí)就需要修剪。可以使用private和public修飾get和set,當(dāng)然當(dāng)我們把一個(gè)屬性設(shè)置為private時(shí),里面的get和set就不能使用private修飾符,這個(gè)也是很好理解的。
使用命名空間可以使用代碼組織更加有條理,結(jié)構(gòu)清晰。使用using關(guān)鍵字,下面說(shuō)下別名和全局情況。
格式:using 別名=要引入的命名空間,如using Tasks = System.Threading.Tasks,使用Tasks別名代表System.Threading.Tasks、using Files = System.IO.File使用Files別名代表File這個(gè)靜態(tài)類(lèi),別名是可以拿一個(gè)類(lèi)當(dāng)作別名的。
有一種情況是這樣的,在全局作用域中一個(gè)與引入命名空間中的一個(gè)類(lèi)名相同,那應(yīng)該如何區(qū)分這兩個(gè)類(lèi)呢?C#為我們提供了global關(guān)鍵字,使用作用域解析符::,就可以直接使用到我們要的全局作用域中的類(lèi),如在頂級(jí)有一個(gè)類(lèi)名叫Cup,則我們可以使用global::Cup來(lái)使用它。
接下來(lái)說(shuō)下pragma指令,這個(gè)基本我是沒(méi)有使用過(guò)的,書(shū)上說(shuō)有兩種使用,一種是警告,一種是校驗(yàn)。警告還是可以理解的時(shí),應(yīng)該通知編譯器打開(kāi)或者關(guān)閉一些警告,如
1 #pragma warning disable 12552 private double Height = 0.0;3 #pragma warning restore 1255
像上面的這個(gè),Height如果沒(méi)有被引用使用,編譯器會(huì)發(fā)出一個(gè)警告,告訴我們這個(gè)變量我們沒(méi)有使用過(guò),通過(guò)刪除,我們可以清除這個(gè)警告,但如果這個(gè)變量是在后期使用,且必須要保留,又想編譯器不要總是提示這條警告,那pragma指令就派上用場(chǎng)了,使用disable和restore分別關(guān)閉和開(kāi)啟。
對(duì)于校驗(yàn),真心沒(méi)使用過(guò),也不敢說(shuō)什么。以上就是一些小知識(shí),一步一個(gè)腳印吧。
請(qǐng)斧正。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注