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