VB.NET數(shù)據(jù)類型概念剖析
VB.NET中的數(shù)據(jù)類型有很多特點(diǎn),和其他語(yǔ)言有不同之處。那么怎樣才能正確的理解這些數(shù)據(jù)類型來(lái)幫助我們提高開(kāi)發(fā)效率呢?今天就先為大家介紹一下VB.NET數(shù)據(jù)類型的基礎(chǔ)概念,作為大家的學(xué)習(xí)參考對(duì)象。
VB.NET數(shù)據(jù)類型之字符數(shù)據(jù)類型
字符數(shù)據(jù)類型是用來(lái)處理打印和顯示字符的。Char包含單個(gè)字符,String則包含多個(gè)字符。VB.NET中Char和數(shù)字類型可以進(jìn)行轉(zhuǎn)換,但要通過(guò)Ascw和Chrw等函數(shù)來(lái)完成。如果類型檢查開(kāi)關(guān)被打開(kāi),則必須在聲明時(shí)在單個(gè)字符后面加上值類型字符C,用以標(biāo)識(shí)。例如下面語(yǔ)句:
- Option strict on
- Dim Emaiin as char
- Emailn=”@” //
打開(kāi)了類型檢查開(kāi)關(guān),
此時(shí)不可以將其轉(zhuǎn)換為Char- Emailn=”@”C //
成功轉(zhuǎn)換
String類型為零個(gè)或多個(gè)16位字符序列,每個(gè)字符取值為0~65 535。當(dāng)字符串被填充了空格的時(shí)候,可以用這些函數(shù)來(lái)清除:Trim,Ltrim,Rtrim。其標(biāo)識(shí)符類型字符為$,沒(méi)有值類型符號(hào)。
其他VB.NET數(shù)據(jù)類型
布爾數(shù)據(jù)類型包含True和False兩種值,在默認(rèn)狀態(tài)下是為False。這個(gè)數(shù)據(jù)類型中True的值為1,布爾類型沒(méi)有值類型符號(hào)。如果將布爾值強(qiáng)制轉(zhuǎn)換為非布爾類型時(shí),代碼中將帶有升級(jí)警告。例如下面語(yǔ)句:
- Dim Sendagain as Boolean
- Dim Number as Integer
- Number=Sendagain
轉(zhuǎn)換以后為
- Dim Sendagain as Boolean
- Dim Number as Integer
- UPGRADE—WARNING:Boolean
Sendagain is being
converted into a unmeric- Number=Sendagain
VB.NET數(shù)據(jù)類型中的Date類型是一個(gè)64位的有符號(hào)整數(shù)。在VB 6.0中Date以Double格式存儲(chǔ),能夠作為Double類型的變量來(lái)操作。而在VB.NET中由于Date的類型存儲(chǔ)為64位,所以無(wú)法再作為Double類型來(lái)進(jìn)行操作,但卻為兩者的轉(zhuǎn)換提供了相關(guān)的函數(shù):ToOADate和FromOADate。在進(jìn)行源代碼升級(jí)時(shí),升級(jí)工具沒(méi)有辦法自動(dòng)檢測(cè)到所有這種轉(zhuǎn)換的情況,但是它會(huì)在相應(yīng)的地方插入以上兩個(gè)函數(shù),例如語(yǔ)句:
- Dim daynum as Double
- Dim day as Date
- Daynum=day
升級(jí)以后為
- Dim daynum as Double
- Dim day as Date
- Daynum=daY.ToOADate
Date變量每加1,就代表著100ns的時(shí)間間隔,其中存儲(chǔ)了從公元1年1月1日中午12點(diǎn)到現(xiàn)在的時(shí)間間隔。Date類型的變量或者是常量可以同時(shí)保存日期和時(shí)間。例如:
- somedate=#8/5/2002 8:38AM#;
Date沒(méi)有值類型符號(hào),但是在編譯時(shí)會(huì)把在#之間的值看作為Date。
對(duì)象類型是VB.NET數(shù)據(jù)類型中新增加的一個(gè)數(shù)據(jù)類型,原因是.NET采用了cLR命名規(guī)則,作用是避免跨語(yǔ)言開(kāi)發(fā)時(shí)出現(xiàn)名稱混亂。VB 6.0中默認(rèn)的Variant數(shù)據(jù)類型,在VB.NET中變?yōu)镺bject類型。例如語(yǔ)句:
- Dim x As Variant
升級(jí)以后為
- Dim x As Object
如果變量聲明為Obiect,則它可以指向任何程序可處理的對(duì)象,但是在聲明時(shí)最好指定為特定的VB.NET數(shù)據(jù)類型,而不要指定為通用的Object。編程時(shí)應(yīng)盡量使用明確的類,例如,使用TextBox而不使用Control可以更加方便地訪問(wèn)對(duì)象的屬性和方法。Object是指向值的指針,它在任何情況均不包括值本身,由于是使用指針定位數(shù)據(jù),所以處理起來(lái)會(huì)比已經(jīng)確定位置的數(shù)據(jù)慢一點(diǎn)。Object也沒(méi)有值類型字符。
【編輯推薦】