這屬于裝箱拆箱。我舉個例子你就明白了:
成都創(chuàng)新互聯(lián)公司于2013年開始,公司以網(wǎng)站建設、成都做網(wǎng)站、系統(tǒng)開發(fā)、網(wǎng)絡推廣、文化傳媒、企業(yè)宣傳、平面廣告設計等為主要業(yè)務,適用行業(yè)近百種。服務企業(yè)客戶成百上千家,涉及國內(nèi)多個省份客戶。擁有多年網(wǎng)站建設開發(fā)經(jīng)驗。為企業(yè)提供專業(yè)的網(wǎng)站建設、創(chuàng)意設計、宣傳推廣等服務。 通過專業(yè)的設計、獨特的風格,為不同客戶提供各種風格的特色服務。
Dim x As Integer = 5
Dim o As Object = x '裝箱
Dim y As Integer = CType(o, Integer) '拆箱(在Option Strict Off的情況下,直接用o給y賦值,會發(fā)生自動轉(zhuǎn)換,也就是說在這種情況下,你不必顯式調(diào)用CType函數(shù))
另外:VB.NET支持后期綁定,所以你也可以不進行拆箱,直接在Object類型下就可以調(diào)用它的屬性和方法
比如,下面的語句在Option Strict Off是是合法的
Dim s As String = 886
Dim i As Integer = "53"
Dim f As Object = New Form()
f.Show() '注意,f是Object類型的
總之,VB.NET的語法要比C#靈活得多
轉(zhuǎn)換錯誤時可以加Try語句實現(xiàn)容錯自動處理。
Dim a As Date
Try
a = DateTime.Parse(TextBox1.Text)
Catch
a = DateTime.Parse(Now)
End Try
Dim t As String
t = Choose(Weekday(a), "日", "一", "二", "三", "四", "五", "六")
Label2.Text = "今天是:星期" t
Dim?txt?As?TextBox?=?CType(ctrl,?TextBox)
當然也可以用directcast方法,實現(xiàn)的功能一樣,trycast可以避免類型不符的時候不報錯的功能。
完全不相的類型之間則是不能轉(zhuǎn)換的,比如你的ctrl里實際上是一個button,那么無論如何都不可能給你轉(zhuǎn)換成textbox,用上面的方法的話會拋出一個異常。
強制類型轉(zhuǎn)換在VB.NET中用Ctype()函數(shù)實現(xiàn)的。
Dim drv As DataRowView = CType(comboBox1.SelectedItem, DataRowView)
另外:comboBox1.SelectedItem 不是 string 類型,而是 object 類型。ComboBox 下拉顯示文字是通過調(diào)用 Object.ToString() 方法實現(xiàn)的。
是的,因為這是一個強制轉(zhuǎn)換,但你沒有定義轉(zhuǎn)換的方法。 如果想要 D d6 = (D) b1; 這句話能夠正常運行,則需要在Class D中重載如下運算: internal class D:B { public static explicit operator D(B b) //這是一個顯式轉(zhuǎn)換 { //具體轉(zhuǎn)換方法 }
網(wǎng)頁題目:vb.net中的強制轉(zhuǎn)換,vb強制轉(zhuǎn)換為integer
網(wǎng)頁URL:http://jinyejixie.com/article44/dssepee.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、外貿(mào)建站、品牌網(wǎng)站建設、微信公眾號、外貿(mào)網(wǎng)站建設、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)