淺析VB.NET語言與VB語言對比
VB.NET有很多值得學習的地方,這里我們主要介紹VB.NET語法,包括介紹數(shù)據(jù)類型等方面。很久以來,VB因為缺乏完善的面向?qū)ο笾С?、缺乏高效的錯誤處理機制和性能表現(xiàn)不佳,因而一直受到某些人的嘲笑。VB.NET將徹底改變這種情況。然而,VB.NET在這些方面的改進也要付出代價,許多舊的代碼需要手工進行轉(zhuǎn)換才能在VB.NET下運行。
下面總結(jié)了VB.NET語言在語法上的改動之處。并沒有完全列出所有改動之處,但列出了最重要的一些改動。對比了VB6中一些熟悉的語法形式及其在VB.NET語法中類似功能最接近的語法形式。
VB.NET語法對比
舊語法 新語法 說明窗體裝載事件,類初始化事件 Sub New procedure Sub New稱為構(gòu)造方法(Constructor),它可以有參數(shù)。
Property Let Property Set Let關(guān)鍵詞不再有效。
Currency Decimal 在VB6中,Decimal是Variant的一種子類型,但在.NET中它是一種固有的數(shù)據(jù)類型。.NET不再支持Currency數(shù)據(jù)類型。
Variant Object VB.NET的Object數(shù)據(jù)類型兼有VB6 Object類型和Variant類型的能力。
Debug.Print Debug.Write Debug.WriteLine 這個變化只是名稱上的簡單變化:從Print變?yōu)閃rite和WriteLine。
Wend End While VB.NET推薦使用While循環(huán)而不是Do循環(huán)。
為了讓VB的數(shù)據(jù)類型和其他.NET語言的數(shù)據(jù)類型相匹配,Microsoft修改了整數(shù)類數(shù)據(jù)類型的表示方法,并加入了一個新的數(shù)據(jù)類型。這些改動對于進行外部調(diào)用的方法尤其重要(比如API調(diào)用)。例如,如果被調(diào)用函數(shù)需要一個32位的整數(shù)參數(shù),則在VB6中它應(yīng)該聲明為Long,在VB.NET中應(yīng)該聲明為Integer。
和整數(shù)有關(guān)的數(shù)據(jù)類型
長度 VB6以及更早版本中的名稱 VB.NET中的名稱
- 16 bit Integer Short
- 32 bit Long Integer
- 64 bit (無) Long
在VB.NET語法中,Microsoft減少了許多原先用于VB6的關(guān)鍵詞,代之以“框架類”。之所以要進行這種替換,是因為框架類中的功能對所有的.NET語言都有效。下表列出了部分受影響的關(guān)鍵詞。被替換的關(guān)鍵詞
VB關(guān)鍵詞 VB.NET名稱空間中的位置 方法/屬性
- Circle System.Drawing.Graphics DrawEllipse
- Line System.Drawing.Graphics DrawLine
- Atn System.Math Atan
- Sgn System.Math Sign
- Sqr System.Math Sqrt
- Rnd Microsoft.VisualBasic.Compatibility.VB6 Rnd
- Round Microsoft.VisualBasic.Compatibility.VB6 Round
- Lset System.String PadRight
- Rset System.String PadLeft
- DoEvents System.Winforms.Application DoEvents
- VarType System.Object GetType
(返回類Type的對象,其中包含了可提取出信息的屬性)
【編輯推薦】