' 關于VB.net { Visual Basic.NET是基于微軟.NET Framework之上的面向對象的中間解釋性語言,可以看作是Visual Basic在.Net Framework平臺上的升級版本,增強了對面向對象的支持。但由于改動太大,導致VB.net對VB的向后兼容性不好,在業界引起不小的爭議。 } ' VB.net與VB6.0的主要區別 { VB.Net需要在.Net Framework平臺上才能執行,因此,大多的VB.Net程序員使用Visual Studio.Net作為IDE(integrated development environment-集成性的開發環境)開發.net應用程序。 VB6生成的應用程序不需要.Net Framework框架的支持。 因此,使用VB.net開發的應用程序只能在裝有.Net Framework框架的系統中運行。 } ' VB.net與VB6.0的編程思想 { 網上流傳的VB與VB.net差別被過分夸大。其實VB.net改善的只是完整的面向對象思想,90%語法與VB6.0保持一致。 抽象、封裝、多態、繼承是面向對象語言的四個基本屬性。VB6.0不支持繼承,而VB.NET則不然。所以,和C++一樣,VB.NET也是完全面向對象的編程語言。 } ' VB.net與VB6.0的應用前景(個人觀點 By 刺猬) ( 介于現在應用最為廣泛WindowsXP操作系統沒有預裝.net framework的原因,許多VB程序員采用VB6.0開發應用程序;但現在不一樣了,在未來,WindowsXP系統必將面臨淘汰。繼Vista以后,系統都預裝了.net framework框架,由此看來,微軟正在極力推崇使用.net技術。或許,.net應用程序的開發在未來會有很大的發展前景。 }
杏花嶺ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創新互聯公司的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
求采納
1、vb.net ?完全符合面向對象的編程語言抽象、封裝、繼承的四大特性,而vb不支持繼承。
2、錯誤處理不同。
vb中只是On Error.....goto和On Errer Resume Next ,這些錯誤稱為非結構化異常處理。而在vb.net中采用的結構化異常處理機制,try...catch....finally控制。
3、兩者產生的窗體不同。
vb.net 允許創建不同類型的應用程序,例如,創建ASP.NET和ASP.NET Web 服務應用程序,還允許創建控制臺應用程序和作為桌面服務運行的應用程序。但是vb 只能創建Windows窗體。
4、數據庫訪問的差別。
vb6.0是通過ADO(Active X Data Objext)來實現對數據庫訪問。而vb.net 是通過ADO.NET來訪問數據庫。
擴展資料
Visual Basic(簡稱VB)是Microsoft公司開發的一種通用的基于對象的程序設計語言,為結構化的、模塊化的、面向對象的、包含協助開發環境的事件驅動為機制的可視化程序設計語言。是一種可用于微軟自家產品開發的語言。
“Visual” 指的是開發圖形用戶界面 (GUI) 的方法——不需編寫大量代碼去描述界面元素的外觀和位置,而只要把預先建立的對象add到屏幕上的一點即可。
“Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 語言,是一種在計算技術發展歷史上應用得最為廣泛的語言。
Visual Basic源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統,可以輕易的使用DAO、RDO、ADO連接數據庫,或者輕松的創建Active?X控件,用于高效生成類型安全和面向對象的應用程序 。
參考資料:百度百科-Visual Basic
Windows
XP的關機是由Shutdown.exe程序來控制的,位于Windows\System32文件夾中。如果想讓Windows
2000也實現同樣的效果,可以把Shutdown.exe復制到系統目錄下。
比如你的電腦要在22:00關機,可以選擇“開始→運行”,輸入“at
22:00
Shutdown
-s”,這樣,到了22點電腦就會出現“系統關機”對話框,默認有30秒鐘的倒計時并提示你保存工作。如果你想以倒計時的方式關機,可以輸入“Shutdown.exe
-s
-t
3600”,這里表示60分鐘后自動關機,“3600”代表60分鐘。
設置好自動關機后,如果想取消的話,可以在運行中輸入“shutdown
-a”。另外輸入“shutdown
-i”,則可以打開設置自動關機對話框,對自動關機進行設置。
Shutdown.exe的參數,每個都具有特定的用途,執行每一個都會產生不同的效果,比如“-s”就表示關閉本地計算機,“-a”表示取消關
機操作,下面列出了更多參數,大家可以在Shutdown.exe中按需使用。
其他的我也不多說了,這樣說已經很詳細了,你應該能看懂。
Net 是一個編程框架。
與函數庫不同,編程框架指的是一種更高層的抽象,它使使用它的開發人員可以在不用掌握太多基礎編程理論時(當然最好是懂一些)就可以開發產品。.Net Framework 的意義是指 .Net 框架。.NET Framework 是可以用來開發應用軟件與托管類庫的一個平臺;它為你提供在生成、調試以及執行托管應用程序時所需要的編譯器及工具。可以說 .NET Framework 為你提供了在 Windows 上開發和運行托管應用程序所需的一切條件。因此 .Net 框架也是一種高層次的抽象,它是一種全面支持以面向對象編程的編程方式來進行開發的運行于 Windows NT 系列操作系統上的高層編程框架。
之所以說應用程序是托管的是因為它們的執行過程是由 .NET Framework 管理的。實際上,.NET Framework 通過提供一個可控的運行時環境來管理這些執行過程,此運行時環境提供眾多的服務,比如在應用程序運行時載入應用程序、管理內存、監視和維護安全和資源完整性。
在 .NET(以及Java)之前,應用程序未被托管,因為它們不是由可控的運行時環境來執行的。比如之前提到的 C++、VB6 編程語言所提供的編程環境中,操作系統中沒有其他組件來提供 .Net 提供的這些服務,應用程序需要自己管理它們的服務,這在有些時候就導致了錯誤的代碼、安全漏洞,以及數據的丟失。
.NET Framework 提供了眾多的工具,比如編譯器、調試器、編程語言、執行引擎(名為 Common Language Runtime,CLR,公共語言運行時),開發工具,以及大量的預定義的“功能模塊”類庫。這些類庫被稱作 Framework Class Libraries(FCLs)。
.Net 支持眾多的編程語言,所有的編程語言編寫的代碼都將最終交給 CLR 來執行,因此 .Net 是“語言無關”的。目前微軟推出的用于 .Net 開發的語言有:VB.NET J# C# F#,現在的 VC++ 也支持托管 .Net 編程。
.Net 編程可應用于很多方面,比如桌面應用程序、WEB應用程序、便攜設備應用程序、游戲開發、用戶界面開發、富互聯網開發等。
通過安裝一些插件,也可以在 Linux 等操作系統上運行 .Net 程序。
VB.NET和VB6.0有什么區別
Visual Basic .NET是Microsoft Visual Studio .NET套件中主要組成部分之一。.NET版本的Visual Basic增加了更多特性,而且演化為完全面向對象(就像C++)的編程語言。本文將介紹VB.NET的新特性,并比較VB6.0/VB.NET之間的區別,闡述如何利用VB.NET編寫簡單的應用程序。
1.1 什么是 VB.NET? Microsoft推出全新的編程和操作系統Framework——.NET,支持多種語言利用公共.NET庫開發應用程序,這些應用程序在.NET Framework上運行。使用Visual Basic在.NET Framework上編程,這就是VB.NET。
首先,讓我演示在VB.NET中寫最簡單的控制臺程序:Hello World。
1.2 Hello, World!“Hello World!”是初學者學習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中已經包括VB.NET編譯器vbc.exe[][1],從IDE或是命令行都可以調用。要從命令行編譯HelloWorld.vb,請在命令行窗口輸入
vbc HelloWorld.vb /out:HelloWorld.exe /t:exe
編譯結束后,HelloWorld.exe被創建到當前目錄下。在資源管理其中雙擊圖標或在命令行執行,程序正確地運行了。祝賀你進入VB.NET開發者的行列。
Imports 語句
如你所知,大部分的.NET類型都在名字空間(namespace)中定義。Namespace是定義和管理類別的范疇。察看.NET Framework Class Library,可以看到數以百計的namespace。例如,System namespace就包括了Console、Object等類型定義。如果想使用Console類,需要用Imports指令導入System namespace。如下所示:
Imports System甚至可以明確地調用namespace而無需用Import導入。下面的例子展示了不用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()方法,即應用程序入口點。在例子程序中,我們調用Console.WriteLine()向控制臺寫入“Hello VB.NET World!”:
Sub Main()
Console.WriteLine(“Hello VB.NET World!”) End SubWriteLine()方法歸屬于Console類,它負責向控制臺寫一個帶有行結束符的字符串。如前所述,Console類定義于System namespace,你通過直接引用來控制類成員。
Console類負責讀寫系統控制臺。讀控制臺輸入用Read和ReadLine方法,向控制臺輸出用WriteLine方法。
表1.1 Console類定義的方法
方法 用途 例子
Read 讀入單個字符 int i = Console.Read();
ReadLine 讀入一行 string str = Console.ReadLine();
Write 寫一行 Console.Write("Write: 1");
WriteLine 寫一行,并帶上行結束符
Console.WriteLine("Test Output Data with Line");
1.5 VB.NET有什么新特點? VB.NET比 VB6.0更加穩定,而且完全面向對象。也許你還記得,VB6.0不支持繼承、重載和接口,所以不是真正面向對象的。而VB.NET則支持這些面向對象特性。VB6.0有兩個薄弱環節——多線程和異常處理。在VB.NET中,開發多線程應用和使用C++/C#別無二致,結構化異常處理也得到支持。稍后我們會詳細解釋這些特性。
下面是VB.NET的特性列表——
·面向對象的編程語言。支持繼承、重載、接口、共享成員和構造器。·支持所有的CLS特性,如存取控制.NET類、與其它.NET語言交互、元數據、公共數據類型、委托等等。·多線程支持。·結構化異常處理。 1.6 名字空間與集合 前面討論了我們的第一個VB.NET程序。該程序中首先引人注意的是名字空間(namespace)。在.NET參考文檔中,你會發現每個類都歸屬于某個namespace。那么,namespace到底是什么?
一個namespace是類和組件的邏輯組合,其目的在于將.NET class按類別定義。微軟借用了C++ class packaging概念:namespace來描述這種組合。.NET Framework中的組件被稱為集合(assembly)。全部.NET代碼在數百個庫文件(DLL)中定義。Namespace把assembly中定義的類組織起來。一個namespace可以包括多個assembly,一個assembly也可以在多個namespace中定義。 namespace樹的根節點是System namespace。在.NET Library中,每個class都在一組相似的類別中定義。例如,System.Data namespace只包括數據相關類。同樣,System.Multithreading只包括多線程類。
在使用.NET支持的語言(如C#、VB.NET、C++.NET等)創建新應用程序時,你會注意到每個應用程序都被定義為一個namespace,而所有的class都歸屬于這個namespace。通過引用這個namespace,其它應用程序就能存取這些class。 在.NET中,代碼被編譯為中間語言(Intermediate Language,IL),assembly中存儲了IL代碼、元數據和其它資源文件。同一個assembly可以附屬于一個或多個Exe/DLL。所有的.NET庫都存儲在assembly中。
1.7 VB.NET: 完全面向對象的編程語言抽象、封裝、多態、繼承是面向對象語言的四個基本屬性。VB6.0不支持繼承,而VB.NET則不然。所以,和C++一樣,VB.NET也是完全面向對象的編程語言。
Class 和 ModuleVB.NET用Class...End Class語句對創建class。每個VB.NET至少包括一個Module(模塊)。Module在Module…End Module語句對中實現。應用程序的主要模塊是Main方法,亦即應用程序入口點。
和VB6.0相似的地方是,都可以使用Function/Sub關鍵字定義方法。下面的例子顯示了如何創建class、添加方法,并從主程序調用方法: 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語句用以創建property。屬性的Get/Set方法分別用于取得和設置屬性值。下面的例子中,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關鍵字支持方法重載。使用這個關鍵字,你可以定義同名但不同參數的方法。
類成員訪問域
除了原有的Private和Public,VB.NET引入了幾個新關鍵字。全部訪問域關鍵字列表如下:
關鍵字 作用域
Private 限于class內部
Public 可以從class外訪問
Friend 限于class所屬的應用程序內
Protected 只能被class和其派生類訪問
Protected Friend 能被class、應用程序和派生類訪問
繼承繼承是面向對象編程語言中最常用的技術。繼承讓你能夠重用類代碼和功能。
VB.NET支持繼承,而VB6.0則不支持。繼承的好處在于你能使用任何人編寫的類,從這些類派生自己的類,然后在自己的類中調用父類功能。在下面的例子中,Class B派生自Class A,我們將從Class B中調用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。
共享的成員類的共享成員被類的所有實體共享。共享成員可能是屬性、方法或字段/值域。在你不想讓用戶全面控制自己的類時,共享成員相當有用。例如,你可以開發一個類庫,讓用戶通過共享成員使用其中的部分功能。
可以通過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類創建或破壞線程。
創建線程使用Thread類的實體創建一個新線程,然后用Thread.Start方法開始執行線程。線程構造器接受一個參數,該參數指明你要在線程中執行的procedure。在下例中,我想在oThread1(Thread類的一個實體)的第二線程中執行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
然后,調用Thread.Start()開始線程:
oThread1.Start()
下面的代碼創建兩個第二線程:
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
破壞線程 調用Abort方法來破壞(中止)一個線程。在調用Abort之前,確保用IsAlive判斷線程處于活動狀態。
If oThread1.IsAlive Then
oThread1.Abort()
End If
暫停線程可以使用Sleep方法來暫停線程執行。Sleep方法接受一個以毫秒為單位的參數,指明線程應當暫停多長時間。
下面的例子讓線程暫停1秒鐘:
oThread2.Sleep(1000)你也可以使用Suspend和Resume方法來掛起和繼續線程執行。
設定線程優先級Thread類的Priority屬性用于設定線程優先級。該屬性可以設置為Normal,AboveNormal,BelowNormal,Highest和Lowest。如:
oThread2.Priority = ThreadPriority.Highest線程與Apartment使用ApartmentState屬性設置線程的apartment類型,該屬性值可以為STA,MTA或是Unknown[][2]:
oThread.ApartmentState = ApartmentState.MTAMTS意味著可以使用多線程模式,而STA則只能是單線程執行。
Public Enum ApartmentState
{
STA = 0,
MTA = 1,
Unknown = 2,
}
1.8 結構化異常處理異常處理也被稱之為錯誤處理。作為VB程序員,你一定對On Error Goto和On Error Resume Next這些VB6.0錯誤處理語句耳熟能詳。這種類型的錯誤處理被稱為非結構化異常處理(Unstructured Exception Handling)。而在VB.NET中,Microsoft推出了結構化異常處理機制。VB.NET支持類似C++的TryCatch..Finally控制。Try..Catch..Finally結構如下: Try
' 可能導致異常的代碼
Catch
' 當異常發生時處理異常的代碼
Finally
' 清理現場
End Try
Try語句塊用以拋出異常。如果異常發生,在Catch語句塊中處理。Finally語句塊是可選的,在需要釋放資源時特別有用。
1.9 VB6.0與VB.NET的不同之處除了上面談到的語言進化,還有一些語法上的變化。所有這些語言和語法的變化在MSDN中均可查到,本文只作簡單介紹。
數據類型(Data Type)的改變VB.NET中有些數據類型得到改進。下面是變化對照表。
數據類型 VB6.0 VB.NET
Integer 16 bit size 32 bit size
Long 32 bit size 64 bit size
Currency 用于存儲大浮點數 被decimal替代,支持更高精度
Variant 可以存儲任意類型數據 被Object類型替代,也可以存儲任意類型數據,但結果更好
Date Date類型被存儲為double 引入DateTime類型,用于存儲不同格式的日期
在VB.NET中,Short數據類型是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關鍵字。在VB.NET中,New關鍵字用于創建對象。由于數據類型是對象,所以New關鍵字用以創建一個數據類型對象。
Dim i As Integer = New Integer()i = 10System.Console.WriteLine(i.ToString()) 代碼塊級別支持。像C++一樣,VB.NET支持代碼塊級別的作用域檢查。在語句塊中聲明的變量只在塊內有效。
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中,當你聲明一個對外部過程的引用時,可以指定任意類型的參數為As Any。Any關鍵字禁止了類型檢查,允許任意數據類型傳入和返回。
VB.NET不支持Any關鍵字。你必須指定每個參數和返回值的數據類型。數組VB.NET對數組作了明顯的改動。
數組范圍。在VB.NET中,你需要格外留意數組范圍問題。VB6.0默認數組下界為0,故數組中的元素數量等與數組上界值加一。下面的數組界限從A(0)到A(10),共有11個元素:
Dim A(10) As Single可以使用Option Base改變下界值為1。在VB.NET中,數組和C++一樣,下界值為0,不支持Option Base。注意:MSDN文檔指出數組只能包括與其尺寸相等的元素數量,例如:Dim A(10) As Integer 只能包括10個元素(從A(0)到A(9)),但在編譯下面這段代碼時我發現它運行良好,看起來數組中容納了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中指定固定長度的數組。
Dim ArrWeekDays(0 To 6) As Integer
這里的ArrWeekDays數組是固定長度的,不能用ReDim語句改變長度。VB.NET不支持固定長度數組,所以ReDim總是有效。
可以用下面兩種方式聲明數組: Dim ArrWeekDays(6) As IntegerDim ArrWeekDays() As Integer = {1, 2, 3, 4, 5, 6} ReDim語句。在VB6.0中,ReDim用于初始化動態數組。在VB.NET中你不能把它當作聲明用。ReDim只能用于改變數組長度,不過不能改變數組維度。
Variant對陣ObjectVB6.0中的Variant數據類型能存儲任意類型變量,VB.NET中Object具備相同能力。
算術操作符VB.NET支持類似C++的快捷方式。下面的表格顯示了常規操作與快捷操作的不同之處。快捷方式也可用于*、/、|、等操作符。
操作符 常規語法 快捷方式加法 A = A+5 A +=5 減法 A = A – 5 A -+ 5固定長度字符串
在VB6.0中,可以在聲明字符串時指定其長度。VB.NET不支持固定長度字符串。
布爾操作符VB6.0中的And、Or或是Xor語句是按位操作符。而在VB.NET中,它們是布爾操作符。執行這些操作將返回true或false。VB.NET引入新操作符來完成按位操作。
操作符 描述 BitAnd 按位AndBitOr 按位OrBitXor 按位XorBitNot 按位Not結構與自定義類型在VB6.0中,你使用Type…End Type語句塊創建結構或自定義類型。例如:
Type StdRec
StdId As Integer
StdName As String End Type
VB.NET引入新的語法:Structure。Type…End Type不再被支持。Structure…End Structure與C++用法相同。可以指定結構中每個元素的可訪問域,如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關鍵字VB6.0中,AS New和Nothing關鍵字用于聲明一個對象并初始化它。 VB.NET不支持隱式創建對象。如前所言,甚至連數據類型都是對象。你可以采用以下兩種方法創建數據類型或對象: 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++的過程調用方式、ByVal(傳值)為默認類型、Optional關鍵字、return語句等等。類似C++的過程調用方式 VB6.0允許不用加圓括號調用過程(sub)。不過,用Call語句調用函數或sub時,一定要使用圓括號。例如:Dim I as IntegerCall EvaluateData(2, i) EvaluateData 2, i 在VB.NET中,所有的方法調用都需要圓括號,而Call語句則是可選的。 ByVal是默認參數類型在VB6.0中,在調用函數或sub時ByRef(傳址)是默認類型。那意味著所有改變將反映到傳入的變量。VB.NET改變了這種方式。現在,默認的參數類型是ByVal(傳值)。 Optional關鍵字VB6.0使用Optional關鍵字可用來讓用戶決定傳入一個默認值,之后在調用IsMissing函數判斷參數是否有效。 而在VB.NET中,每個可選參數必須聲明其默認值,無需調用IsMissing函數。例如:Sub MyMethod(Optional ByVal i As Integer = 3)
Return語句VB.NET的Return語句與C++相似。使用Return語句把控制權從過程返還給調用者。在VB6.0中,Return語句與GoSub語句一起使用。VB.NET不再支持GoSub語句。流程控制的改變下面是VB.NET對流程控制語句的修改:1. GoSub不再受到支持。2. Call、Function和Sub語句均可用于調用過程。3. On ... GoSub和On ... GoTo語句不再受支持。可以使用Select Case語句來替代。4. While ... Wend語句現在改為While…End While語句。不再支持Wend關鍵字。小結 Visual Basic .NET是.NET版本的Visual Basic,已經從根本發生了變化!通過本文你了解到VB6.0和VB.NET的區別是很大的,可以說根本就是兩種不同的語言,因為它們的內核發生了變化,VB6.0是基于COM而vb.net是基于.net框架的,因為這個變化,所以在構造類時也發生了根本性的變化。
當前文章:vb.net操作系統的簡單介紹
轉載來于:http://vcdvsql.cn/article24/hsdcce.html
成都網站建設公司_創新互聯,為您提供網站營銷、網站制作、品牌網站建設、網站收錄、電子商務、全網營銷推廣
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯