- 帖子
- 9
- 主題
- 2
- 精華
- 0
- 積分
- 15
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- Office 2010
- 閱讀權限
- 10
- 註冊時間
- 2012-6-18
- 最後登錄
- 2014-10-6
|
[分享] Visual Basic .NET 介紹
本帖最後由 randychou 於 2013-1-5 10:45 編輯
小弟剛踏入這塊領域,使用VBA 寫了小程式.
想了解現在VB的發展,找到了下面的文章. 跟大家分享
Visual Basic .NET
維基百科,自由的百科全書
Visual Basic .NET
編程範型
結構化, 指令式, 物件導向及宣告式
面市時間
2001
設計者
微軟
實作者
微軟
型態系統
靜態、強型別、同時為安全和不安全,[1] 標明型別系統
主要實作產品
Microsoft Visual Studio, Microsoft Visual Studio Express, .NET Framework SDK and Mono
衍生副語言
Microsoft Visual Basic
啟發語言
.NET Framework
作業系統
主要在Microsoft Windows
同時可支援Android, BSD, iOS, Linux, Mac OS X, Solaris和Unix
許可證
專有軟體 (商業軟體/免費軟體)
網站
msdn.microsoft.com/vbasic
Visual Basic.NET是基於微軟.NET Framework之上的物件導向的中間解釋性語言,可以看作是Visual Basic在.Net Framework平台上的升級版本,需要在.Net Framework平台上才能執行,增強了對物件導向的支援。但由於改動太大,導致VB.net對VB的回溯相容性不好,在業界引起不小的爭議。
大多的VB.Net程式設計師使用Visual Studio .Net作為整合式開發環境(IDE,integrated development environment)。SharpDevelop是另一種可用的開源的整合式開發環境。
目錄 [隱藏]
1 發佈歷史
1.1 Visual Basic .NET
1.2 Visual Basic .NET 2003
1.3 Visual Basic 2005
1.4 Visual Basic 2008
1.5 Visual Basic 2010
2 和VB的關聯
2.1 比較樣例
2.1.1 移除活動窗口
2.2 爭議
3 語法介紹
3.1 Select Case
4 跨平台和開源的開發
5 沿革
5.1 Visual Basic
5.2 Visual Basic .NET
6 參考資料
7 外部連結
7.1 官方網站
7.2 教程
7.3 其他
[編輯]發佈歷史
[編輯]Visual Basic .NET
Visual Basic .NET(VB 7.0)是隨Visual C#和ASP.NET一起在2002年發佈的最初始的VB.NET版本。C#被大力宣傳為微軟對付JAVA的王牌,受到媒體極力關註。然而VB.NET(有時被稱為VB7)影響面不廣,這導致VB社區之外很少人關註它。那些試用過此版VB.NET的人在層層幕佈下發現一個強大卻艱深的語言,而且還有不少缺點,例如它的執行階段元件(Run-Time)比VB6大了十倍,記憶體使用量也大大增加。
[編輯]Visual Basic .NET 2003
Visual Basic .NET 2003(VB 7.1)是和.NET Framework 1.1一起發行的。新功能包括對.NET Compact Framework的支援和更好的VB升遷精靈。並改進了執行狀況,IDE穩定性(尤其是後台編譯器),以及執行時RunTime穩定性。另外,VB.NET 2003還有一個學院版Visual Studio .NET 2003 Academic Edition (VS03AE),它是分發給各國某些學者免費使用的版本。
[編輯]Visual Basic 2005
Visual Basic 2005(VB 8.0)是VB.Net的重大轉變,微軟決意在其軟體名稱中去掉了.NET部份。在VB2005中,微軟增加了許多新功能,以參照VB對於初學者來說的一些優點:
Edit and Continue - 也許是從VB那裏丟掉的最大的功能,允許代碼的編輯和執行立即的執行恢復。
Design-time expression evaluation
My偽名稱空間,提供了存取.NET Framework特定域的不需大量編碼的簡單方式;還能動態產生類(顯然的是My.Forms);提供了改進的VB到VB.NET轉換精靈;Using語法,簡化了需要部署pattern to free resources的物件的使用;My編碼,可隱藏由VB.NET IDE寫的模板代碼;資料來源繫結,簡化了資料庫C/S開發。上述功能(尤其是My)增強了VB.Net成為快速開發應用平台的可能,並與C#進一步區別開來。Visual Basic 2005 透過增加新功能而填補了和其他所謂更強大的.NET語言的差距。
增加了.NET 2.0語言功能包括:泛型(generics)和Partial類(在一個檔案裏定義一個類的某部份然後再添加更多的定義,這個方法在整合使用者編碼和系統自動生成編碼時尤其有用)。
XML註釋,可以被NDoc等工具處理而自動生成文件
操作符過載
支援在其他語言中已經廣泛使用的unsigned integer資料型別。
支援在許多C衍生程式語言已提供的複合操作符如:"+=", "-="
IsNot專利:If Not X Is Y運算式被轉換成If X IsNot Y。當微軟為IsNot申請專利時招致了惡名(尤其來自Real公司)。
Visual Basic 2005 Express:作為VS產品線上的一部份,VB2005 Express是專為業餘愛好者和新手客制的免費的VS Express系列的一員。Express版本目的定位在幫助人們學習一種語言,所以他們有和標準版一致的使用者介面,隻是少了一些高階功能。另外,VS Express版包括了VB6.0轉換器,提供了從VB老版本升級的可行方法。
[編輯]Visual Basic 2008
Visual Basic 2008(VB 9.0)於2007年11月9日與Microsoft .NET Framework 3.5一起發佈
在VB2008中,微軟增加許多功能,包括:
IIF 函式
匿名型別
支援 LINQ
Lambda 運算式
XML 資料結構
類介面
[編輯]Visual Basic 2010
Visual Basic 10,也稱為VBx,提供支援Dynamic Language Runtime (DLR)。VB 10同時是Silverlight 2.0計畫的一部分。
[編輯]和VB的關聯
VB.net 是否該被看作VB的新版本或者是另一個完全不同的語言尚在爭議中。雖然並非顯而易見,但隻要某個方法被棄用,它就會可會被自動轉換,這說明了該語言的句法並沒有出現很多突破性的變化,隻是增加了對新功能的支援,比如結構化意外處理機制和短迴圈運算式(structured exception handling and short circuited expressions)。有一種變化會讓舊使用者迷惑:Integer和Long資料型別在長度上分別倍增。16位元的 integer 在VB.NET中被認為是Short,而Integer和Long分別是32位元和64位元。同樣,Windows Forms GUI編輯器和VB Form 編輯器在外觀和功能上非常相似。
出現巨大變化的是語意,從執行於基於COM的deterministic, reference-counted的引擎之上的編程環境,轉變為全面物件導向的基於.NET Framework的語言。.NET Framework包括了CLR(使用通用垃圾收集機制和JIT編譯引擎的虛擬機器)和大量的類別庫。VB開發者進入VB.NET要面對新增的大量類別庫的問題,雖然這在VS 2005的My 功能中已有所闡述。
上述變化表明了許多在執行及維護相關最佳化事宜下面的假定,一些VB6函式和庫不再存在而其他的仍然可用,但是比不上.NET語言中內建的可替換的函式和庫來得高效。即使它們可被編譯,但大多從VB6轉換而來的應用將需要一定程度上的重構(refactoring),以全面利用新語言的優點。在有關句法、應用偵錯、部署和術語等方面的變化,有大量的文件可以參考。
[編輯]比較樣例
[編輯]移除活動窗口
兩個例子都移除活動窗口,它們顯示了VB和VB.Net在句法上的不同。
VB:
Private Sub cmdClose_Click()
Unload Me
End Sub
VB.NET:
Private Sub cmdClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdClose.Click
Me.Close()
End Sub
[編輯]爭議
許多資深的VB程式設計師抱怨VB.NET,因為VB.NET 2002丟掉了許多不再發行的VB6中使用的大量語言constructs和使用者介面功能,並且對保留下來的東西也改變了語意。例如,在VB.NET參數預設是以值方式傳遞的,而不是以參照方式。VB.NET 2002被半嘲諷半認真地稱為Visual Fred或VBDOTNOT。作為對2005-03-08微軟拒絕為VB6再提供維護與支援的回應,當月月底出現了反對者的請願[2]。
VB.NET的支持者們認為新語言在很多方面比舊版本更為強大,比如它以相比早期版本更為自然、緊密和完全的方式地加入了現代物件導向的編程範式。反對者們有不同意見,雖然VB6對物件模型支援有缺點,但是二次開發升級到VB.NET 的成本比升級後的收益要高得多。而開發軟體發行網際網路版本的獨立程式設計師也對VB.NET的RunTime尺寸過大不滿。
相對編譯成機器碼的語言,編譯成MSIL的語言包括VB.NET比較容易被反編譯。
微軟提供了VB到VB.NET的自動轉換器,雖幾經改進,但仍無法轉換全部代碼,幾乎所有非小型程式都需要人工修改以完成編譯。為了執行最佳化,大多程式需要大量工作去重構。
主要是進行演算的VB程式自然會更容易升遷,但是採用了以下功能,如資料庫支援、圖形、unmanaged operations,或者在安裝啟用明細方面都很麻煩。不幸的是,這些恰好是許多商業應用的核心。
另外,Win98及其以上的系統就內建了VB6的執行時(RunTime)庫,而VB.NET需要安裝大得多的.NET Framework。除了 Windows Vista, Windows XP Media Center Edition, Windows XP Tablet PC Edition、Windows Server 2003、Windows Server 2008、Windows 7、Windows Server 2008 R2有內建.NET Framework,其他版本需要另外安裝,這對使用者和程式設計師都不方便。且.NET Framework 3.5版僅支援Windows XP、Vista以後的Windows版本。
針對開發者的不滿,微軟主要做了如下努力:使新的開發更容易啟動,而把已開發的VB6代碼升級到VB.NET[3]。例子主要包括:完成VB6中的常見任務如預覽列印;整合VB6和VB.NET解決方案(dubbed VB Fusion),從VB6 代碼轉換到 VB.NET。
[編輯]語法介紹
[編輯]Select Case
VB.Net 支援如下的 Select 語句。
Dim J, K As Boolean
Dim check1 As String = String.Empty
J = True
Select Case True
Case J
check1 = "a"
Case K
check1 = "b"
End Select
[編輯]跨平台和開源的開發
目前和C#相比,針對VB.NET開發的開源工具發展得比較慢。MONO開發平台提供了一個VB.NET特性庫(VB.NET-specific libraries)並以推出了一個編譯器,還有一個Windows Forms GUI 庫在開發中。
[編輯]沿革
[編輯]Visual Basic
1991年4月,Visual Basic 1.0 Windows版本發行
1992年9月,Visual Basic 1.0 DOS版本發行。
1992年11月,VB2.0發行。它對於上一個版本的介面和速度都有所改善。
1993年夏天,VB3.0發行,分為標準版和專業版。其中包含一個資料引擎,可以直接讀取Access資料庫。
1995年8月,VB4.0發行了32位元版本和16位元的版本。其中包含了對類的支援。這是最後一個支援16位元的版本。
1997年2月,VB5.0發行。程式設計師可以用32位元的版本匯入由4.0版本建立的16位元程式,並且能順利編譯。同時還包含了對使用者自建控制項的支援。
1998年夏天,VB6.0發行。
[編輯]Visual Basic .NET
2001年,Visual Basic.NET和.NET Framework發行。由於其使用了新的核心和特性,所以很多VB的程式設計師都要覆寫程式。
2003年,Visual Basic.NET 2003和.NET Framework 1.1發行。
2004年,微軟發行了Visual Studio 2005的測試版本(代號Whidbey)。包含了.NET Framework2.0的測試版本。
2005年,微軟宣佈將不會再對非.NET版本的VB進行支援。VB社群立即作出反應表示關心這個訊息,一些老使用者還遞交了希望能夠繼續對VB進行技術支援的請願書。微軟目前還不願意改變他們的決定。
2005年11月7日,Visual Studio 2005正式發行。
2007年11月19日,Visual Studio 2008與.NET Framework 3.5正式發行。
[編輯]參考資料
^ Option Strict can be used to switch between safe and unsafe type checking.
^ http://classicvb.org/petition/ petition
^ http://msdn.microsoft.com/VBRun/ VBRun website
[編輯]外部連結
[編輯]官方網站
(英文)Microsoft's VB.NET官方網站
(英文)Visual Basic 2005 Express Edition官方網站
(英文)VBRun 網站 - VB6的Microsoft官方網路資源
(正體中文)Visual Studio Express 首頁
(正體中文)Visual Studio Express Visual BASIC 下載頁面
[編輯]教程
Startvbdotnet.com:免費VB.NET教程
使用My開發
透過My名稱空間存取.NET Framework 和項目
[編輯]其他
SharpDevelop - VB.NET的一個免費IDE
VB.NET的MONO應用
Doing Objects in VB.NET and C#,免費電子書
VB.NET Knowledge Base - VB.NET知識庫 / 程式設計俱樂部
原始連結: http://zh.wikipedia.org/wiki/Visual_Basic_.NET |
|