輕輕松松學(xué)習(xí)使用VB.NET常量
VB.NET有很多值得學(xué)習(xí)的地方,這里我們主要介紹VB.NET常量,包括介紹使用枚舉值、編程原則等方面。常數(shù)很容易在數(shù)據(jù)輸入時出錯。常數(shù)存在的主要問題之一是你很容易在鍵入數(shù)字時出錯,從而顛倒了數(shù)字的位置。例如,當(dāng)你鍵入數(shù)字10876時,很容易的鍵入10867或18076。與處理變量和保留字的方法不同,vb的編譯器并不在乎顛倒了位置和不正確的數(shù)字,有時簡單的錯誤造成的問題不會立即表現(xiàn)出來,而當(dāng)問題表現(xiàn)出來時,它們會以隨機(jī)的計算錯誤的形式出現(xiàn),這些錯誤很難準(zhǔn)確定位。
#T#用常量來取代常數(shù)時,vb將在編譯時檢查常量的有效性。如果常量不存在,vb便將這一情況通知你,并拒絕進(jìn)行編譯,這可以消除錯誤鍵入的數(shù)字帶來的問題,只要常量擁有正確的值,使用該常量的所有代碼也有使用該正確值。常數(shù)很難不斷更新。常量使代碼更容易閱讀。使用常量后,得到的一個額外好處是可使創(chuàng)建的代碼更容易閱讀。常數(shù)很不直觀。也許你對常數(shù)非常了解,但其他人則根本看不明白。通過合理的給常量命名,使用這些常量的代碼就變得比較直觀了,更容易閱讀。
為VB.NET常量賦予較寬的作用域,這與使用變量時的情況不同。在一個應(yīng)用程序中你決不應(yīng)該兩次創(chuàng)建相同的VB.NET常量。如果你發(fā)現(xiàn)自己復(fù)制了一個常量,請將原始的常量說明轉(zhuǎn)至較寬的作用域,直到該常量可供引用它的所有過程為止。
使用枚舉值
你不必記住參數(shù)的數(shù)值,錯誤地設(shè)定值的可能性也大大減少了。雖然你仍可為參數(shù)設(shè)定數(shù)值,而不是設(shè)定枚舉成員的名字,但你決不應(yīng)該這樣去做。
1) 枚舉值的所有成員都是長整型數(shù),你不得使用其他數(shù)據(jù)類型。
2) 使用常量和枚舉值的目的:
減少數(shù)字換位和鍵入錯誤帶來的代碼錯誤;
將來可以更容易更改各個值;
使代碼更容易閱讀。
編程原則
VB.NET常量不同于變量的另一個標(biāo)識特征是不使用數(shù)據(jù)類型前綴。有些外部數(shù)據(jù)庫仍然使用大寫字母常量。例如,如果用 API瀏覽器查找和拷貝與API相關(guān)的常量,你??煽吹剿鼈兪鞘褂么髮懽帜傅某A?。在這種情況下,請將這些常量保持原狀,以便達(dá)成應(yīng)用程序之間的一致性。
1) 將應(yīng)用程序前綴或特定的前綴用于枚舉成員不必用前綴來表示枚舉成員的類型,因為所有成員總是屬于長整型數(shù)。但應(yīng)該使用專門的前綴來表示它的值來自應(yīng)用程序或組件。應(yīng)該用一個指示符作為枚舉成員的前綴,因為當(dāng)vb遇到一個枚舉成員名時,如果其他被引用的類型庫中包含相同的名字,它就會搞混。
2) 若要了解鍵入的系統(tǒng)常量是否正確,方法之一是全部用小寫字母鍵入該常量。如果該常量有效,vb就會將它轉(zhuǎn)換成正確的大小寫字母。如果該常量仍然保持全部為小寫字母,就表示鍵入的名字不正確,必須進(jìn)行糾正。
3) 當(dāng)參數(shù)接受有限數(shù)量的值時,請使用枚舉
4) 使用Select Case結(jié)構(gòu)時,始終要加上一個Else子句,以便處理傳遞給過程的有效值。