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