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