首先宣告,此處僅作語言方面的對比,在.net生產力上,兩者沒有區別。進行這個對比是為了澄清對visual
basic
和c#功能錯誤的認識和流言。以下所有區別都是經過較為深刻的研究得出的,相比一些常見的對比來講更有科學性
下面先對比visual studio .net 2003中,兩種語言功能的對比。*表示對方語言中沒有這項功能,但是可以用別的語法在il級別實現完全同樣的功能。注意,本次比較只選擇有意義的功能,某些功能,如迴圈、分支語句等傳統功能不在比較之列。同時,vb因相容老版本而遺留的,不具有現代語言特徵的語法也不在比較之列(如on error語句,option explicit語句等)。
visual
basic
有而c#沒有的功能
c#有而visual
basic
沒有的功能
區域性static變數*
withevents和handles語法*
可選引數
按名傳遞
屬性引數
按非虛方式訪問乙個虛函式
換名實現介面
後期繫結
with語句*
用imports匯入靜態成員
模組is操作符*
try…catch when語句
visual
basic
執行時庫的功能和函式
運算子過載
為event指定add與remove訪問器
using語句*
xml注釋文件
不安全**和指標
as操作符
out修飾符*
編譯器cls檢查
接下來,是未來visual studio 2005中兩者功能的對比。在這個對比中,所有因visual studio 2005新增功能產生的差異,將以粗體字表示。注意,並不是每一項新增功能都能產生兩者的差異,比如泛型和partial type都是兩者皆有的新功能。
visual
basic
有而c#沒有的功能
c#有而visual
basic
沒有的功能
區域性static變數*
withevents和handles語法*
可選引數
按名傳遞
屬性引數
按非虛方式訪問乙個虛函式
換名實現介面
後期繫結
with語句*
用imports匯入靜態成員
is操作符*
try…catch when語句
visual
basic
執行時庫的功能和函式
預設例項
my命名空間
為event指定add與remove訪問器
不安全**和指標
out修飾符*
迭代器
匿名方法
可見無論什麼版本的對比,都是visual
basic
的功能比較多。當然,僅憑功能的多少,不能改變個人對語言的喜好,也不大可能成為選擇開發工具的依據。但是有一句話給我的印象很深,我在csdn上做調查時,有乙個人說他用c#的理由是:「我用c#是因為c#比vb功能強,哪怕只是一點點也是強」。即使vb比較強,還是會有人這麼說。這就說明語言或開發工具的歧視不是功能差異造成的,那真正的原因是什麼呢?
Visual Basic和C 功能對比
首先宣告,此處僅作語言方面的對比,在.net生產力上,兩者沒有區別。進行這個對比是為了澄清對visual basic和c 功能錯誤的認識和流言。以下所有區別都是經過較為深刻的研究得出的,相比一些常見的對比來講更有科學性 下面先對比visual studio net 2003中,兩種語言功能的對比。表...
體驗Visual Basic 9 0新功能
前言 visual basic code named orcas visual basic 9.0 對基於 visual basic code named whidbey visual basic 8.0 進行了一些語言方面的擴充套件,以統一的方式支援以資料為中心的程式設計 建立,更新和查詢關聯式資...
C 與Visual Basic的異與同
c 是一種高階程式語言,是一種安全 穩定 簡單 優雅的程式語言,它與visual basic有很多相同的地方,同時也有很多不同的地方。我們今天這篇部落格本著學習c 的原則,著重介紹一下c 與visual basic的相同點和不同點。從幾個方面分別闡述。限於篇幅的原因,我們可能會分成幾個部分,以幾篇部...