VB.NET類型轉(zhuǎn)換相關(guān)運算符應(yīng)用技巧分享
VB.NET作為一門功能強大的面向?qū)ο缶幊陶Z言,為開發(fā)人員帶來非常大的好處。它的編寫方式簡單靈活,很大程度上提高了開發(fā)人員開發(fā)效率。我們在這里先來介紹一下VB.NET類型轉(zhuǎn)換的相關(guān)運算符使用技巧。
VB.NET類型轉(zhuǎn)換提供了兩種轉(zhuǎn)型運算符:DirectCast 和CType
DirectCast是***的,因為它通??梢援a(chǎn)生更高效的代碼,也能更好地保留類型安全。但,DirectCast只能用來將引用類型轉(zhuǎn)型為其他類型,而CType運算符可以用將引用類型或者值類型轉(zhuǎn)型為其他類型。
使用CType運算符將一個是轉(zhuǎn)換為一個基元類型非常有用和常見,所以VB.NET為此還專門提供了一些轉(zhuǎn)型運算符:
- CBool:將一個對象轉(zhuǎn)換為一個Boolean
- CByte:將一個對象轉(zhuǎn)換為一個Byte
- CChar將一個對象轉(zhuǎn)換為Char
- CDate將一個對象轉(zhuǎn)換為DateTime
- CDbl將一個對象轉(zhuǎn)換為Double
- CDec將一個對象轉(zhuǎn)換為Decimal
- CInt將一個對象轉(zhuǎn)換為Int32
- CLng將一個對象轉(zhuǎn)換為Int64
- CObj將一個對象轉(zhuǎn)換為Object
- CShort將一個對象轉(zhuǎn)換為Int16
- CSng將一個對象轉(zhuǎn)換為Single
- CStr將一個對象轉(zhuǎn)換為String
如果DirectCast和CType及上面的便捷的轉(zhuǎn)型運算符不能找到某種方式來將指定的對象轉(zhuǎn)換為期望的類型時,將會拋出一個InvalidCastException異常.#t#
測試對象的類型
由于DirectCast和CType運算符試圖將一個對象從一個類型轉(zhuǎn)換為另一個類型。如果轉(zhuǎn)型不兼容,將會拋出一個InvalidCastException異常,則為了程序能夠從異常中恢復(fù)過來,開發(fā)人員必須利用異常處理機制。如果我們希望避免使用異常處理代碼,則我們可以利用TypeOf....Is表達式,用來檢查對象是否和指定的類型兼容。其結(jié)果為Boolean值。
例:
TypeOf TEST Is Object
其中TEST為要檢查的引用,Object指定的類型