什么是vb.net語言的簡單介紹

vb和vb.net的區(qū)別和特點

1、vb.net ?完全符合面向?qū)ο蟮木幊陶Z言抽象、封裝、繼承的四大特性,而vb不支持繼承。

成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司十余年經(jīng)驗成就非凡,專業(yè)從事成都網(wǎng)站設(shè)計、成都網(wǎng)站制作,成都網(wǎng)頁設(shè)計,成都網(wǎng)頁制作,軟文平臺,一元廣告等。十余年來已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:13518219792,我們期待您的來電!

2、錯誤處理不同。

vb中只是On Error.....goto和On Errer Resume Next ,這些錯誤稱為非結(jié)構(gòu)化異常處理。而在vb.net中采用的結(jié)構(gòu)化異常處理機制,try...catch....finally控制。

3、兩者產(chǎn)生的窗體不同。

vb.net 允許創(chuàng)建不同類型的應(yīng)用程序,例如,創(chuàng)建ASP.NET和ASP.NET Web 服務(wù)應(yīng)用程序,還允許創(chuàng)建控制臺應(yīng)用程序和作為桌面服務(wù)運行的應(yīng)用程序。但是vb 只能創(chuàng)建Windows窗體。

4、數(shù)據(jù)庫訪問的差別。

vb6.0是通過ADO(Active X Data Objext)來實現(xiàn)對數(shù)據(jù)庫訪問。而vb.net 是通過ADO.NET來訪問數(shù)據(jù)庫。

擴展資料

Visual Basic(簡稱VB)是Microsoft公司開發(fā)的一種通用的基于對象的程序設(shè)計語言,為結(jié)構(gòu)化的、模塊化的、面向?qū)ο蟮?、包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動為機制的可視化程序設(shè)計語言。是一種可用于微軟自家產(chǎn)品開發(fā)的語言。

“Visual” 指的是開發(fā)圖形用戶界面 (GUI) 的方法——不需編寫大量代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的對象add到屏幕上的一點即可。

“Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 語言,是一種在計算技術(shù)發(fā)展歷史上應(yīng)用得最為廣泛的語言。

Visual Basic源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建Active?X控件,用于高效生成類型安全和面向?qū)ο蟮膽?yīng)用程序 。

參考資料:百度百科-Visual Basic

vb和vb.net的區(qū)別

VB.NET和VB6.0有什么區(qū)別

Visual Basic .NET是Microsoft Visual Studio .NET套件中主要組成部分之一。.NET版本的Visual Basic增加了更多特性,而且演化為完全面向?qū)ο螅ň拖馛++)的編程語言。本文將介紹VB.NET的新特性,并比較VB6.0/VB.NET之間的區(qū)別,闡述如何利用VB.NET編寫簡單的應(yīng)用程序。

1.1 什么是 VB.NET? Microsoft推出全新的編程和操作系統(tǒng)Framework——.NET,支持多種語言利用公共.NET庫開發(fā)應(yīng)用程序,這些應(yīng)用程序在.NET Framework上運行。使用Visual Basic在.NET Framework上編程,這就是VB.NET。

首先,讓我演示在VB.NET中寫最簡單的控制臺程序:Hello World。

1.2 Hello, World!“Hello World!”是初學(xué)者學(xué)習(xí)Windows編程的代表性程序。我們的第一個程序就叫做“Hello VB.NET World!”。該程序在控制臺輸出一句話:“Hello VB.NET World!”,代碼如下所示:

代碼 1.1: Hello VB.NET World例子Imports System

Module Module1

Sub Main()

System.Console.WriteLine("Hello VB.NET World!")

End Sub

End Module

1.3 VB.NET 編輯器和編譯器你可以在記事本或VS.NET IDE等任意文本編輯器中撰寫上述代碼,然后保存為HelloWorld.vb。 代碼編寫完成之后,要么在命令行、要么在VS.NET IDE中編譯它。在Microsoft .NET Framework SDK中已經(jīng)包括VB.NET編譯器vbc.exe[][1],從IDE或是命令行都可以調(diào)用。要從命令行編譯HelloWorld.vb,請在命令行窗口輸入

vbc HelloWorld.vb /out:HelloWorld.exe /t:exe

編譯結(jié)束后,HelloWorld.exe被創(chuàng)建到當(dāng)前目錄下。在資源管理其中雙擊圖標或在命令行執(zhí)行,程序正確地運行了。祝賀你進入VB.NET開發(fā)者的行列。

Imports 語句

如你所知,大部分的.NET類型都在名字空間(namespace)中定義。Namespace是定義和管理類別的范疇。察看.NET Framework Class Library,可以看到數(shù)以百計的namespace。例如,System namespace就包括了Console、Object等類型定義。如果想使用Console類,需要用Imports指令導(dǎo)入System namespace。如下所示:

Imports System甚至可以明確地調(diào)用namespace而無需用Import導(dǎo)入。下面的例子展示了不用Import的“Hello World!”程序:

代碼1.2: Hello VB.NET World例子Module Module1

Sub Main()

System.Console.WriteLine("Hello VB.NET World!")

End SubEnd Module1.4 解析 "Hello VB.NET World!"程序第一行是:

Imports System; System namespace定義了Console類,該類用于讀寫控制臺(命令行窗口)。然后你定義了一個module:Module Module1

…End Module所有的VB程序都包括一個Main()方法,即應(yīng)用程序入口點。在例子程序中,我們調(diào)用Console.WriteLine()向控制臺寫入“Hello VB.NET World!”:

Sub Main()

Console.WriteLine(“Hello VB.NET World!”) End SubWriteLine()方法歸屬于Console類,它負責(zé)向控制臺寫一個帶有行結(jié)束符的字符串。如前所述,Console類定義于System namespace,你通過直接引用來控制類成員。

Console類負責(zé)讀寫系統(tǒng)控制臺。讀控制臺輸入用Read和ReadLine方法,向控制臺輸出用WriteLine方法。

表1.1 Console類定義的方法

方法 用途 例子

Read 讀入單個字符 int i = Console.Read();

ReadLine 讀入一行 string str = Console.ReadLine();

Write 寫一行 Console.Write("Write: 1");

WriteLine 寫一行,并帶上行結(jié)束符

Console.WriteLine("Test Output Data with Line");

1.5 VB.NET有什么新特點? VB.NET比 VB6.0更加穩(wěn)定,而且完全面向?qū)ο?。也許你還記得,VB6.0不支持繼承、重載和接口,所以不是真正面向?qū)ο蟮?。而VB.NET則支持這些面向?qū)ο筇匦浴B6.0有兩個薄弱環(huán)節(jié)——多線程和異常處理。在VB.NET中,開發(fā)多線程應(yīng)用和使用C++/C#別無二致,結(jié)構(gòu)化異常處理也得到支持。稍后我們會詳細解釋這些特性。

下面是VB.NET的特性列表——

·面向?qū)ο蟮木幊陶Z言。支持繼承、重載、接口、共享成員和構(gòu)造器?!ぶС炙械腃LS特性,如存取控制.NET類、與其它.NET語言交互、元數(shù)據(jù)、公共數(shù)據(jù)類型、委托等等?!ざ嗑€程支持?!そY(jié)構(gòu)化異常處理。 1.6 名字空間與集合 前面討論了我們的第一個VB.NET程序。該程序中首先引人注意的是名字空間(namespace)。在.NET參考文檔中,你會發(fā)現(xiàn)每個類都歸屬于某個namespace。那么,namespace到底是什么?

一個namespace是類和組件的邏輯組合,其目的在于將.NET class按類別定義。微軟借用了C++ class packaging概念:namespace來描述這種組合。.NET Framework中的組件被稱為集合(assembly)。全部.NET代碼在數(shù)百個庫文件(DLL)中定義。Namespace把assembly中定義的類組織起來。一個namespace可以包括多個assembly,一個assembly也可以在多個namespace中定義。 namespace樹的根節(jié)點是System namespace。在.NET Library中,每個class都在一組相似的類別中定義。例如,System.Data namespace只包括數(shù)據(jù)相關(guān)類。同樣,System.Multithreading只包括多線程類。

在使用.NET支持的語言(如C#、VB.NET、C++.NET等)創(chuàng)建新應(yīng)用程序時,你會注意到每個應(yīng)用程序都被定義為一個namespace,而所有的class都歸屬于這個namespace。通過引用這個namespace,其它應(yīng)用程序就能存取這些class。 在.NET中,代碼被編譯為中間語言(Intermediate Language,IL),assembly中存儲了IL代碼、元數(shù)據(jù)和其它資源文件。同一個assembly可以附屬于一個或多個Exe/DLL。所有的.NET庫都存儲在assembly中。

1.7 VB.NET: 完全面向?qū)ο蟮木幊陶Z言抽象、封裝、多態(tài)、繼承是面向?qū)ο笳Z言的四個基本屬性。VB6.0不支持繼承,而VB.NET則不然。所以,和C++一樣,VB.NET也是完全面向?qū)ο蟮木幊陶Z言。

Class 和 ModuleVB.NET用Class...End Class語句對創(chuàng)建class。每個VB.NET至少包括一個Module(模塊)。Module在Module…End Module語句對中實現(xiàn)。應(yīng)用程序的主要模塊是Main方法,亦即應(yīng)用程序入口點。

和VB6.0相似的地方是,都可以使用Function/Sub關(guān)鍵字定義方法。下面的例子顯示了如何創(chuàng)建class、添加方法,并從主程序調(diào)用方法: Imports System

Module Module1

Sub Main()

Dim cls As TestClass = New TestClass

Console.WriteLine(cls.MyMethod)

End Sub

Class TestClass

Function MyMethod() As String

Return "Test Method"

End Function

End Class

End ModuleProperty屬性(Property)是類變量的公共描述。Property…End Property語句用以創(chuàng)建property。屬性的Get/Set方法分別用于取得和設(shè)置屬性值。下面的例子中,Data是TestClass的屬性。

Imports System

Imports System.Console

Module Module1

Sub Main()

Dim cls As TestClass = New TestClass

WriteLine(cls.MyMethod)

WriteLine(cls.Data)

cls.Data = "New Data"

WriteLine(cls.Data)

End Sub

End Module

Class TestClass

Private strData As String = "Some Data"

Function MyMethod() As String

Return "Test Method!"

End Function

' Adding Data property to the class

Public Property Data() As String

Get

Return strData

End Get

Set(ByVal Value As String)

strData = Value

End Set

End Property

重載VB.NET通過overload關(guān)鍵字支持方法重載。使用這個關(guān)鍵字,你可以定義同名但不同參數(shù)的方法。

類成員訪問域

除了原有的Private和Public,VB.NET引入了幾個新關(guān)鍵字。全部訪問域關(guān)鍵字列表如下:

關(guān)鍵字 作用域

Private 限于class內(nèi)部

Public 可以從class外訪問

Friend 限于class所屬的應(yīng)用程序內(nèi)

Protected 只能被class和其派生類訪問

Protected Friend 能被class、應(yīng)用程序和派生類訪問

繼承繼承是面向?qū)ο缶幊陶Z言中最常用的技術(shù)。繼承讓你能夠重用類代碼和功能。

VB.NET支持繼承,而VB6.0則不支持。繼承的好處在于你能使用任何人編寫的類,從這些類派生自己的類,然后在自己的類中調(diào)用父類功能。在下面的例子中,Class B派生自Class A,我們將從Class B中調(diào)用Class A的方法MethodA。

Imports System

Imports System.Console

Module Module1

Sub Main()

Dim bObj As B = New B

WriteLine(bObj.MethodA())

End Sub

End Module

' Class A defined

Public Class A

Function MethodA() As String

Return "Method A is called."

End Function

End Class

'Class B, inherited from Class A. All members (Public and Protected)

' can be access via B now.

Public Class B

Inherits A

Function MethodB() As String

Return "Method B is called."

End Function

End Class

可以從一個class中派生多個自定義class,也可以從多個class派生一個自定義class。

共享的成員類的共享成員被類的所有實體共享。共享成員可能是屬性、方法或字段/值域。在你不想讓用戶全面控制自己的類時,共享成員相當(dāng)有用。例如,你可以開發(fā)一個類庫,讓用戶通過共享成員使用其中的部分功能。

可以通過class本身引用共享成員,而無需通過類的實體。例如:Module Module1

Sub Main()

WriteLine(A.MethodA())

End Sub

End Module

' Class A defined

Public Class A

Shared Function MethodA() As String

Return "Method A is called."

End Function

End Class

多線程VB語言的一大弱點就是缺乏編寫自由線程(free-threaded)程序的能力。在.NET Framework中,所有語言共享CRL(Common Runtime Library,公共運行庫),也就是說,你可以用VB.NET、C#或其它.NET語言編寫同樣的程序。

System.Threading namespace定義了線程類。我們只需要引入System.Threading namespace,即可使用線程類。

System.Threading.Thread類提供線程對象,可以使用Thread類創(chuàng)建或破壞線程。

創(chuàng)建線程使用Thread類的實體創(chuàng)建一個新線程,然后用Thread.Start方法開始執(zhí)行線程。線程構(gòu)造器接受一個參數(shù),該參數(shù)指明你要在線程中執(zhí)行的procedure。在下例中,我想在oThread1(Thread類的一個實體)的第二線程中執(zhí)行SecondThread過程:

oThread1 = New Thread(AddressOf SecondThread)

SecondThread procedure looks like below:

Public Sub SecondThread()

Dim i As Integer

For i = 1 To 10

Console.WriteLine(i.ToString())

Next

End Sub

然后,調(diào)用Thread.Start()開始線程:

oThread1.Start()

下面的代碼創(chuàng)建兩個第二線程:

Imports System

Imports System.Threading

Module Module1

Public oThread1 As Thread

Public oThread2 As Thread

Sub Main()

oThread1 = New Thread(AddressOf SecondThread)

oThread2 = New Thread(AddressOf ThirdThread)

oThread1.Start()

oThread2.Start()

End Sub

Public Sub SecondThread()

Dim i As Integer

For i = 1 To 10

Console.WriteLine(i.ToString())

Next

End Sub

Public Sub ThirdThread()

Dim i As Integer

For i = 1 To 10

Console.WriteLine("A" + i.ToString())

Next

End Sub

End Module

破壞線程 調(diào)用Abort方法來破壞(中止)一個線程。在調(diào)用Abort之前,確保用IsAlive判斷線程處于活動狀態(tài)。

If oThread1.IsAlive Then

oThread1.Abort()

End If

暫停線程可以使用Sleep方法來暫停線程執(zhí)行。Sleep方法接受一個以毫秒為單位的參數(shù),指明線程應(yīng)當(dāng)暫停多長時間。

下面的例子讓線程暫停1秒鐘:

oThread2.Sleep(1000)你也可以使用Suspend和Resume方法來掛起和繼續(xù)線程執(zhí)行。

設(shè)定線程優(yōu)先級Thread類的Priority屬性用于設(shè)定線程優(yōu)先級。該屬性可以設(shè)置為Normal,AboveNormal,BelowNormal,Highest和Lowest。如:

oThread2.Priority = ThreadPriority.Highest線程與Apartment使用ApartmentState屬性設(shè)置線程的apartment類型,該屬性值可以為STA,MTA或是Unknown[][2]:

oThread.ApartmentState = ApartmentState.MTAMTS意味著可以使用多線程模式,而STA則只能是單線程執(zhí)行。

Public Enum ApartmentState

{

STA = 0,

MTA = 1,

Unknown = 2,

}

1.8 結(jié)構(gòu)化異常處理異常處理也被稱之為錯誤處理。作為VB程序員,你一定對On Error Goto和On Error Resume Next這些VB6.0錯誤處理語句耳熟能詳。這種類型的錯誤處理被稱為非結(jié)構(gòu)化異常處理(Unstructured Exception Handling)。而在VB.NET中,Microsoft推出了結(jié)構(gòu)化異常處理機制。VB.NET支持類似C++的TryCatch..Finally控制。Try..Catch..Finally結(jié)構(gòu)如下: Try

' 可能導(dǎo)致異常的代碼

Catch

' 當(dāng)異常發(fā)生時處理異常的代碼

Finally

' 清理現(xiàn)場

End Try

Try語句塊用以拋出異常。如果異常發(fā)生,在Catch語句塊中處理。Finally語句塊是可選的,在需要釋放資源時特別有用。

1.9 VB6.0與VB.NET的不同之處除了上面談到的語言進化,還有一些語法上的變化。所有這些語言和語法的變化在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 = 10System.Console.WriteLine(i.ToString()) 代碼塊級別支持。像C++一樣,VB.NET支持代碼塊級別的作用域檢查。在語句塊中聲明的變量只在塊內(nèi)有效。

For i = 1 To 10Dim p As LongSystem.Console.WriteLine(i.ToString())NextSystem.Console.WriteLine(p.ToString()) 這段代碼在VB.NET中會得到一個編譯錯誤,因為p在For..Next語句塊之外不可訪問。在VB6.0中這段代碼可以通過。

改進了的類型安全

在VB6.0中,當(dāng)你聲明一個對外部過程的引用時,可以指定任意類型的參數(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 IntegerDim ArrWeekDays() As Integer = {1, 2, 3, 4, 5, 6} ReDim語句。在VB6.0中,ReDim用于初始化動態(tài)數(shù)組。在VB.NET中你不能把它當(dāng)作聲明用。ReDim只能用于改變數(shù)組長度,不過不能改變數(shù)組維度。

Variant對陣ObjectVB6.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 按位AndBitOr 按位OrBitXor 按位XorBitNot 按位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…End Type不再被支持。Structure…End Structure與C++用法相同。可以指定結(jié)構(gòu)中每個元素的可訪問域,如Public、Protected、Friend、Protected Friend、Private等。例如:

Structure StdRec

Public StdId As Integer Public StdName As String

Private StdInternal As String End StructureVB.NET中的Structures就像類一樣,也可以擁有方法和屬性。New和Nothing關(guān)鍵字VB6.0中,AS New和Nothing關(guān)鍵字用于聲明一個對象并初始化它。 VB.NET不支持隱式創(chuàng)建對象。如前所言,甚至連數(shù)據(jù)類型都是對象。你可以采用以下兩種方法創(chuàng)建數(shù)據(jù)類型或?qū)ο螅?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 MyObjectSet 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 IntegerCall 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,已經(jīng)從根本發(fā)生了變化!通過本文你了解到VB6.0和VB.NET的區(qū)別是很大的,可以說根本就是兩種不同的語言,因為它們的內(nèi)核發(fā)生了變化,VB6.0是基于COM而vb.net是基于.net框架的,因為這個變化,所以在構(gòu)造類時也發(fā)生了根本性的變化。

VB、VB.NET、ASP、ASP.NET、C#、C#.net、.net的區(qū)別是什么啊?

VB是微軟早期的面向過程的編程語言,輸入pascal類型

VB.NET是運行在.NET

Framework之上的面向?qū)ο蟮恼Z言,基本遵循VB的語法

ASP是微軟早期的用于動態(tài)網(wǎng)頁開發(fā)的語言,其特點是前后臺代碼寫在同一文件中

ASP.NET是微軟用于替代ASP的動態(tài)網(wǎng)頁開發(fā)語言,特點是前后臺代碼分離

C#是微軟專為.NET平臺定制的語言,可以說是.NET平臺上的最正統(tǒng)的語言,當(dāng)然VB.NET在功能上與C#是完全一致的,二者編譯后都會生成極度相似的IL(中間語言)

C#.NET沒聽說過,應(yīng)該就是C#

.NET即.NET

Framework是現(xiàn)在微軟的看家平臺,所有的.NET程序都必須要在.NET

Framework上運行,你可以將其簡單地看成是一個基礎(chǔ)類庫。(其實該框架還會幫助你管理資源分配等等)

VB是什么語言???

Visual Basic(簡稱VB)是Microsoft公司開發(fā)的一種通用的基于對象的程序設(shè)計語言,為結(jié)構(gòu)化的、模塊化的、面向?qū)ο蟮?、包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動為機制的可視化程序設(shè)計語言。是一種可用于微軟自家產(chǎn)品開發(fā)的語言。

“Visual” 指的是開發(fā)圖形用戶界面 (GUI) 的方法——不需編寫大量代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的對象add到屏幕上的一點即可。

“Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 語言,是一種在計算技術(shù)發(fā)展歷史上應(yīng)用得最為廣泛的語言。Visual Basic源自于BASIC編程語言。

VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建Active X控件,用于高效生成類型安全和面向?qū)ο蟮膽?yīng)用程序 。程序員可以輕松的使用VB提供的組件快速建立一個應(yīng)用程序。

擴展資料

Visual Basic 所派生的語言:

1、VBA

Visual Basic for Applications(VBA):包含在微軟的應(yīng)用程序中(如Microsoft Office),以及類似WordPerfect、Office這樣第三方的產(chǎn)品里面。VBA 這樣嵌入在各種應(yīng)用程序中看起來有些矛盾,但是它的功能和 VB 一樣強大。

2、VBS

VBScript(VBS):是默認的ASP語言,還可以用在Windows腳本編寫和網(wǎng)頁編碼中。盡管它的語法類似于VB,但是它卻是一種完全不同的語言。VBS 不使用 VB運行庫運行,而是由Windows腳本主機解釋執(zhí)行。這兩種語言之中的不同點影響ASP網(wǎng)站的表現(xiàn)。

3、vb.net

Visual Basic.net(vb.net):當(dāng)微軟準備開發(fā)一種新的編程工具的時候,第一決定就是利用 VB 6.0 來進行舊改,或者就是重新組建工程開發(fā)新工具。微軟后來開發(fā)了 VB 的繼任者Visual Basic.net,同時也是.net平臺的一部分。vb.net編程語言是一種真正的面向?qū)ο缶幊陶Z言,和 VB 并不完全兼容。

Visual Basic.net(vb.net) 是新一代的 VB 語言,并不只是 VB 6.0 的簡單升級,vb.net 與 VB (泛指 VB 6.0 之前的版本) 之間有非常大的區(qū)別。其新特性主要表現(xiàn)在以下幾方面:

(1)、vb.net 完全集成到 Visual Studio 集成開發(fā)環(huán)境中,在這種集成開發(fā)環(huán)境與 VB 在若干方面有差異。主要體現(xiàn)在窗體的布局以及菜單等方面都有所不同。

(2)、vb.net 項目與 VB 不同。它使用基于文件夾的模型,所有項目均放置在項目文件夾層次結(jié)構(gòu)中。

(3)、vb.net 中使用ado.net來訪問數(shù)據(jù)庫,ado.net是.netFramework的一部分。在 vb.net 中實現(xiàn)數(shù)據(jù)訪問的方法主要有兩種:

其一是在程序設(shè)計階段,通過創(chuàng)建、配置數(shù)據(jù)適配器 DataAdapter 和生成數(shù)據(jù)集 DataSet;其二是在運行中,通過編程方式動態(tài)創(chuàng)建配置數(shù)據(jù)適配器和創(chuàng)建、生成數(shù)據(jù)集。

(4)、在 vb.net 中是使用asp.net技術(shù)來編寫 Web 頁面的。在asp.net中使用的也不是腳本語言,而是真正意義的編程語言。憑借asp.net的 Web 應(yīng)用程序、XML Web Services 等基于 Web 的功能,使得 vb.net 開發(fā) Web 頁面與開發(fā) Windows 應(yīng)用程序很相似,Web 頁面代碼也顯得有條有理了。

(5)、vb.net 已經(jīng)成為完全的面向?qū)ο蟮木幊陶Z言,并且新增更多語言特性。

Visual Basic.net有提供轉(zhuǎn)換精靈,協(xié)助開發(fā)者將 VB 6.0 的程序代碼轉(zhuǎn)換為 vb.net 相對應(yīng)之程序代碼。

參考資料:百度百科-Visual Basic

VB.net是什么語言?

Visual Basic.NET是基于微軟.NET Framework之上的面向?qū)ο蟮闹虚g解釋性語言(名片中說VB.NET是"...中間解釋性語言“,這種說法極不準確,甚至完全錯誤??赡茉庉嬚呤侵傅木幾g器會先將源碼翻譯成MSIL(Microsoft Intermediate Language)中間語言這回事,但這和”解釋性語言“有很大差別),可以看作是Visual Basic在·Net Framework平臺上的升級版本,增強了對面向?qū)ο蟮闹С帧5捎诟膭犹?,?dǎo)致VB.net對VB的向后兼容性不好,在業(yè)界引起不小的爭議。 大多的VB.Net程序員使用Visual Studio .Net作為IDE(integrated development environment).SharpDevelop是另一種可用的開源的IDE。VB.Net需要在.Net Framework平臺上才能執(zhí)行。 VB.NET的主頁

詳情請看百度百科:;type=synfromtitle=VB.NETfr=aladdin

vb和vb.net是一樣的嗎?有什么不同?

1、從OOP概念上講,VB不是一個真正的面對對象的語言,他不支持繼承等一些面對對象的特性,而VB.net是一個面對對象的語言,支持這些特性

2、VB和VB.net都可以用來網(wǎng)絡(luò)編程的,這點可以肯定,兩者都有這個功能

VB是通過控件進行網(wǎng)絡(luò)編程,而VB.net可以通過VB的控件,也可以是用.net框架提供的system.net命名空間下的所有的類

3、正確理解VB.net中的.net,.NET 是微軟推出的一種新的編程思想和模式,對于網(wǎng)絡(luò)提出了一個新的概念(當(dāng)然功能有了很大的革新),微軟在.net 框架中規(guī)定了通用語言規(guī)范,只要符合這個規(guī)范,都可以利用.net強大的功能來完成任務(wù),比如delphi.net ,他是.net和通用語言規(guī)范結(jié)合的產(chǎn)物,.net 框架提供了好多功能,簡單列出一些命名空間

System 包含所有的數(shù)據(jù)類型和...

System.IO包含Windows文件,數(shù)據(jù)流的訪問操作和...

System.Net包含網(wǎng)絡(luò)有關(guān)的各種協(xié)議TCP,UDP等等和...

System.Text包含字有關(guān)的,比如經(jīng)典正則表達式

System.Data包含訪問數(shù)據(jù)的所有的類

System.Web包含Web有關(guān)的,比如Web Services的新概念

System.Drawing包含GDI+的所有功能,可以繪制圖形

System......等等

當(dāng)然還包括Microsoft.VisualBasic等微軟產(chǎn)品的系列的命名空間

這些命名空間可以用于所有.net的應(yīng)用程序,比如可以用System.Drawing包含GDI+的所有功能來Web上動態(tài)的設(shè)計圖表

而實現(xiàn)它就可以用VB.net的語言

4、可以寬泛的來解釋就是:VB.net=VB(OOP)+.net

5、VB.net的運行方式和VB不同,比如VB就是通過一個DLL動態(tài)鏈接庫文件來編譯的,而VB.net是先生稱MSIL(微軟中間語言)代碼,然后通過通用語言運行時,將MSIL繼續(xù)編譯生成更好更高效的代碼。這位朋友可以試著用一下.net下的vbc.exe編譯工具,寫個小程序編譯下試試

6、兩者語法相同,但有少許差異,VB.net的運算符和一些錯誤處理機制多了一些

7、VB和VB.net最擅長用于快速開發(fā),不需要太過于考慮性能的快速開發(fā),但是VB.net和其他語言的功能天生是相等的,現(xiàn)在的VB.net用于Web應(yīng)用程序,WinForm應(yīng)用程序開發(fā)的情況就比較多,而其他應(yīng)用我不是很了解或一時想不出來,我有個朋友就是用.net做嵌入式開發(fā)的,但他們公司也用.net 做3G開發(fā)

8、狗屁六級的vrhero,“VB.NET也是VB”還在這兒放這么多廢屁,這樣的人就是沒事找抽型 把你的6個問題也給解釋一下,1、smalltalk是純粹的OOP語言,Java %90的OOP,VB不支持OOP的特性,所以不完全是,夠明白了吧2、完全不知所云---我寫的這些不是拷過來的,不能說我不知所云3、我只是把我經(jīng)常用到的命名空間告訴這位朋友不為過4、誤人子弟,屁話5、屁話6、筆誤,是我的錯7、你用VC++開發(fā)web給我看看,相比VB.net和C#看看那個快,各種語言都各有所長,不是我說的,微軟.net系列清華出版的這么多書,那本不都有說明嗎?你補充的那幾句,學(xué)過.net的人都知道,沒有實用價值。

“除了語法和使用習(xí)慣的繼承,VB 6.0之前的版本和VB 7.0之后的版本完全沒有聯(lián)系,幾乎沒有相同之處,兩種不同體系的語言”和“VB.NET也是VB ”這種自相矛盾的話,就認為這位高級經(jīng)理是大腦發(fā)熱,筆誤吧!

分享名稱:什么是vb.net語言的簡單介紹
URL地址:http://muchs.cn/article34/doccise.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站軟件開發(fā)、網(wǎng)站改版全網(wǎng)營銷推廣、搜索引擎優(yōu)化、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化