国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
VB6.0與VB.NET的不同之處(轉(zhuǎn))

除了上面談到的語言進化,還有一些語法上的變化。所有這些語言和語法的變化在MSDN中均可查到,本文只作簡單介紹。

數(shù)據(jù)類型(Data Type)的改變

VB.NET中有些數(shù)據(jù)類型得到改進。下面是變化對照表。

 

數(shù)據(jù)類型

 

VB6.0

 

VB.NET

 

Integer

 

16 bit size

 

32 bit size

 

Long

 

32 bit size

 

64 bit size

 

Currency

 

用于存儲大浮點數(shù)

 

被decimal替代,支持更高精度

 

Variant

 

可以存儲任意類型數(shù)據(jù)

 

被Object類型替代,也可以存儲任意類型數(shù)據(jù),但結(jié)果更好

 

Date

 

Date類型被存儲為double

 

引入DateTime類型,用于存儲不同格式的日期

在VB.NET中,Short數(shù)據(jù)類型是16 bit的。Short,Integer和Long都等同于CLR的System.Int16、System.Int32和System.Int64類型。

變量聲明的變化

在VB6.0中,變量聲明有許多限制。其中之一就是不能同行聲明多個變量。如果一定要在一行中聲明多個變量,就一定得指明每個變量的類型,否則將被默認為Variant類型。

Dim a1, a2 As Integer

Dim a3 As Integer, a4 As Integer

第一行中的a1是Variant類型,a2是Integer類型。第二行中兩個變量都是Integer類型。

VB.NET支持同行聲明多個變量,舉例如下:

Dim a1, a2, a3 As Integer

變量初始化是另一個問題。在VB6.0中不能同時聲明和初始化變量,而VB.NET則支持這個特性。

Dim name As String = "Mahesh"

System.Console.Write(name)

聲明常量也可以照此辦理:

Const DT_COUNT As Integer = 23

New關(guān)鍵字。在VB.NET中,New關(guān)鍵字用于創(chuàng)建對象。由于數(shù)據(jù)類型是對象,所以New關(guān)鍵字用以創(chuàng)建一個數(shù)據(jù)類型對象。

Dim i As Integer = New Integer()

i = 10

System.Console.WriteLine(i.ToString())

代碼塊級別支持。像C++一樣,VB.NET支持代碼塊級別的作用域檢查。在語句塊中聲明的變量只在塊內(nèi)有效。

For i = 1 To 10

Dim p As Long

System.Console.WriteLine(i.ToString())

Next

System.Console.WriteLine(p.ToString())

這段代碼在VB.NET中會得到一個編譯錯誤,因為p在For..Next語句塊之外不可訪問。在VB6.0中這段代碼可以通過。

 

改進了的類型安全

在VB6.0中,當你聲明一個對外部過程的引用時,可以指定任意類型的參數(shù)為As Any。Any關(guān)鍵字禁止了類型檢查,允許任意數(shù)據(jù)類型傳入和返回。

VB.NET不支持Any關(guān)鍵字。你必須指定每個參數(shù)和返回值的數(shù)據(jù)類型。

 

數(shù)組

VB.NET對數(shù)組作了明顯的改動。

數(shù)組范圍。在VB.NET中,你需要格外留意數(shù)組范圍問題。VB6.0默認數(shù)組下界為0,故數(shù)組中的元素數(shù)量等與數(shù)組上界值加一。下面的數(shù)組界限從A(0)到A(10),共有11個元素:

Dim A(10) As Single

可以使用Option Base改變下界值為1。在VB.NET中,數(shù)組和C++一樣,下界值為0,不支持Option Base。

注意:MSDN文檔指出數(shù)組只能包括與其尺寸相等的元素數(shù)量,例如:

Dim A(10) As Integer

只能包括10個元素(從A(0)到A(9)),但在編譯下面這段代碼時我發(fā)現(xiàn)它運行良好,看起來數(shù)組中容納了11個元素。

Dim A(10) As Integer

A(0) = 12

A(2) = 24

A(10) = 23

System.Console.WriteLine(A(0).ToString())

System.Console.WriteLine(A(10).ToString())

System.Console.WriteLine(UBound(A).ToString())

System.Console.WriteLine(LBound(A).ToString())

Lbound和Ubound分別返回 0與10。

ReDim和Fixed Array。你可以在VB6.0中指定固定長度的數(shù)組。

Dim ArrWeekDays(0 To 6) As Integer

這里的ArrWeekDays數(shù)組是固定長度的,不能用ReDim語句改變長度。VB.NET不支持固定長度數(shù)組,所以ReDim總是有效。

可以用下面兩種方式聲明數(shù)組:

Dim ArrWeekDays(6) As Integer

Dim ArrWeekDays() As Integer = {1, 2, 3, 4, 5, 6}

ReDim語句。在VB6.0中,ReDim用于初始化動態(tài)數(shù)組。在VB.NET中你不能把它當作聲明用。ReDim只能用于改變數(shù)組長度,不過不能改變數(shù)組維度。

Variant對陣Object

VB6.0中的Variant數(shù)據(jù)類型能存儲任意類型變量,VB.NET中Object具備相同能力。

算術(shù)操作符

VB.NET支持類似C++的快捷方式。下面的表格顯示了常規(guī)操作與快捷操作的不同之處??旖莘绞揭部捎糜?、/、|、&等操作符。

操作符 常規(guī)語法 快捷方式

加法 A = A+5 A +=5

減法 A = A – 5 A -+ 5

固定長度字符串

在VB6.0中,可以在聲明字符串時指定其長度。VB.NET不支持固定長度字符串。

布爾操作符

VB6.0中的And、Or或是Xor語句是按位操作符。而在VB.NET中,它們是布爾操作符。執(zhí)行這些操作將返回true或false。VB.NET引入新操作符來完成按位操作。

操作符 描述

BitAnd 按位And

BitOr 按位Or

BitXor 按位Xor

BitNot 按位Not

結(jié)構(gòu)與自定義類型

在VB6.0中,你使用Type…End Type語句塊創(chuàng)建結(jié)構(gòu)或自定義類型。例如:

Type StdRec

StdId As Integer

StdName As String

End Type

VB.NET引入新的語法:Structure。Type…EndType不再被支持。Structure…EndStructure與C++用法相同??梢灾付ńY(jié)構(gòu)中每個元素的可訪問域,如Public、Protected、Friend、ProtectedFriend、Private等。例如:

Structure StdRec

Public StdId As Integer

Public StdName As String

Private StdInternal As String

End Structure

VB.NET中的Structures就像類一樣,也可以擁有方法和屬性。

New和Nothing關(guān)鍵字

VB6.0中,AS New和Nothing關(guān)鍵字用于聲明一個對象并初始化它。

VB.NET不支持隱式創(chuàng)建對象。如前所言,甚至連數(shù)據(jù)類型都是對象。你可以采用以下兩種方法創(chuàng)建數(shù)據(jù)類型或?qū)ο螅?/p>

Dim i As Integer

Dim i As Integer = New Integer()

// Do something

if i = Nothing Then

End If

不支持Set語句

VB6.0使用Set語句指派對象。例如:

Set myObj = new MyObject

Set a = b

在VB.NET中,不需要使用Set指派對象。例如:

myObj = new MyObj()

a = b

過程(procedure)語法的變化

在VB.NET中過程語法有了很多變化。例如類似C++的過程調(diào)用方式、ByVal(傳值)為默認類型、Optional關(guān)鍵字、return語句等等。

類似C++的過程調(diào)用方式

VB6.0允許不用加圓括號調(diào)用過程(sub)。不過,用Call語句調(diào)用函數(shù)或sub時,一定要使用圓括號。例如:

Dim I as Integer

Call EvaluateData(2, i)

EvaluateData 2, i

在VB.NET中,所有的方法調(diào)用都需要圓括號,而Call語句則是可選的。

ByVal是默認參數(shù)類型

在VB6.0中,在調(diào)用函數(shù)或sub時ByRef(傳址)是默認類型。那意味著所有改變將反映到傳入的變量。VB.NET改變了這種方式?,F(xiàn)在,默認的參數(shù)類型是ByVal(傳值)。

Optional關(guān)鍵字

VB6.0使用Optional關(guān)鍵字可用來讓用戶決定傳入一個默認值,之后在調(diào)用IsMissing函數(shù)判斷參數(shù)是否有效。

而在VB.NET中,每個可選參數(shù)必須聲明其默認值,無需調(diào)用IsMissing函數(shù)。例如:

Sub MyMethod(Optional ByVal i As Integer = 3) Return語句

VB.NET的Return語句與C++相似。使用Return語句把控制權(quán)從過程返還給調(diào)用者。在VB6.0中,Return語句與GoSub語句一起使用。VB.NET不再支持GoSub語句。

流程控制的改變

下面是VB.NET對流程控制語句的修改:

1. GoSub不再受到支持。

2. Call、Function和Sub語句均可用于調(diào)用過程。

3. On ... GoSub和On ... GoTo語句不再受支持??梢允褂肧elect Case語句來替代。

4. While ... Wend語句現(xiàn)在改為While…End While語句。不再支持Wend關(guān)鍵字。

小結(jié)

Visual Basic .NET是.NET版本的Visual Basic。通過本文你了解到VB.NET的基本概念,而且也從VB6.0開發(fā)者的角度對VB.NET進行了考察。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VB.NET和VB6.0有什么區(qū)別(轉(zhuǎn)) - dlbird的博客 - 博客園
VB.NET 數(shù)組的定義 動態(tài)使用 多維數(shù)組
VB.net學習筆記(十九)數(shù)組、集合、泛型
C#和VB.NET類型相關(guān)知識匯總
VB6.0和VB.NET差別
VB6?And?VB.NET
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服