程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Visual Basic和C#功能對比

Visual Basic和C#功能對比

編輯:關於C語言
首先聲明,此處僅作語言方面的對比,在.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比較強,還是會有人這麼說。這就說明語言或開發工具的歧視不是功能差異造成的,那真正的原因是什麼呢?
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved