在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近看代码或写代码时,经常把VB与C#的基本语法搞混,为方便查看,特对其异同进行对比: 變數初始化VB.NET 自動將所有的變數初始化成 0 或 nothing。C# 在你未初始化變數之前不准你用該變數。 選擇性參數(Optional parameters)C# 不提供函數選擇性參數,但仍可以利用重载的方法,提供选择性参数 静态方法的定义 C# 和 VB.NET 都在 Class 支援靜態方法、屬性和 fields,C#中为Static,VB.NET 稱為 Shared,例如 publicstaticvoid StaticMethod() { Console.WriteLine("不需要建立物件就可以呼叫"); } PublicSharedSub ShareMethod() Console.WriteLine("可以不建立物件來呼叫函數") EndSub
Switch 和 Select Case 語法在 C# 的 switch 語法讓你以某個值或語法跳到一個程式區塊。每一個區塊與一個常數值連結在一起。你可以使用多個常數值與 case 語法建立如下的程式碼 switch(i) { case 4: case 5: break; case 6: case 7: break; default: break; } VB 則讓你可以組合常數或更複雜的語法,如下 SelectCase i Case 4, 5 Case 6 To 9 CaseElse EndSelect 不只如此,VB.NET 也讓你可以在 Select Case 語法中如同使用常數一般使用變數 傳值或傳址呼叫所有的 VB.NET 參數都要明確地利用 ByVal 和 ByRef 宣告,C# 的參數都是傳值,除非以 ref 關鍵字宣告。 Virtual/Overridable 方法C# 使用 Virtual 關鍵來宣告就算是參照到基礎 Class,但仍是呼叫到正確衍生類別的方法。以 override 宣告衍生的函數 VB.NET 使用 Overridable 關鍵字來宣告 virtual 函數,並需要使用 Overrides 關鍵字來宣告衍生的函數。 Abstract/MustInherit 方法C# 用關鍵字 abstract 來標示需要由衍生 Class 來實现的方法, VB.NET 使用 MustInherit 關鍵字來做同樣的標示(同時使用在 Class 和方法)。 Sealed/NoInheritable ClassesC# 用關鍵字 Sealed 來標示不可以被繼承的 Classs,VB.NET 以 NotInheritable 關鍵字來做相同的事。 VB.NET 支援所有的 CLS 標準資料型態,C# 增加支援無正負號的資料型態。下表列出兩個語言的基礎型態以及是否與 CLS 相容
|
请发表评论