//全局層
VB支持Module
C#支持static class
VB的Imports語句可以把類的靜態成員導入
VB可以選擇變量是否必須聲明
C#則默認是VB最嚴格的狀態
C#可以使用extern alias指定程序集的別名
VB沒有這個功能
C#可以指定友元程序集
//成員層
VB可以直接重寫Object
C#可以指定attribute的target以便清楚地放置attribute
VB能夠重載這些C#不支持的運算符
C#能夠重載這些VB不支持的運算符
VB中子類的構造函數
C#中子類的構造函數
VB的Implemnts語句可以為實現接口的方法改名
C#不支持但是有一個顯式實現的語法可以幫忙
VB的函數重載
C#的函數重載
VB的Main函數自動加
//繼續成員層
C#的自定義event可以修改add和remove的規則
VB的自定義Event除了C#的之外
VB的Event可以直接書寫Event參數
C#的event必須指定delegate類型
VB支持WithEvents/Handles靜態事件綁定語法
C#的事件只支持使用+=動態綁定
VB的屬性(Property)可以帶參數
C#的屬性不能帶參數
盡管不支持手工定義
VB可以指定一個帶有參數的屬性為Default
C#則必須把這個東西聲明為索引器
VB允許方法帶有若干可選參數(Optional)可指定默認值
C#不允許
C#支持out參數
VB不內置支持
C#支持類中使用fixed buffer
VB不支持
C#支持按照參數是否帶有ref/out進行函數重載
VB不支持這種重載
C#允許僅大小寫區分的兩個函數或變量存在
VB不區分大小寫
[
From:http://tw.wingwit.com/Article/program/net/201311/15509.html