zoukankan      html  css  js  c++  java
  • VB.Net与C#的比较

    最近看代码或写代码时,经常把VB与C#的基本语法搞混,为方便查看,特对其异同进行对比: 

    變數初始化

    VB.NET 自動將所有的變數初始化成 0 或 nothing。C# 在你未初始化變數之前不准你用該變數。 

    選擇性參數(Optional parameters)

    C# 不提供函數選擇性參數,但仍可以利用重载的方法,提供选择性参数

    静态方法的定义

    C# 和 VB.NET 都在 Class 支援靜態方法、屬性和 fields,C#中为Static,VB.NET 稱為 Shared,例如

        public static void StaticMethod()

        {

            Console.WriteLine("不需要建立物件就可以呼叫");

        }

        Public Shared Sub ShareMethod()

            Console.WriteLine("可以不建立物件來呼叫函數")

        End Sub

     

    Switch 和 Select Case 語法

    在 C# 的 switch 語法讓你以某個值或語法跳到一個程式區塊。每一個區塊與一個常數值連結在一起。你可以使用多個常數值與 case 語法建立如下的程式碼

    switch(i)

    {

        case 4:

        case 5:

            break;

        case 6:

        case 7:

            break;

        default:

            break;

    }

    VB 則讓你可以組合常數或更複雜的語法,如下

    Select Case i

        Case 4, 5

        Case 6 To 9

        Case Else

    End Select

    不只如此,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 Classes

    C# 用關鍵字 Sealed 來標示不可以被繼承的 Classs,VB.NET 以 NotInheritable 關鍵字來做相同的事。 

    VB.NET 支援所有的 CLS 標準資料型態,C# 增加支援無正負號的資料型態。

    下表列出兩個語言的基礎型態以及是否與 CLS 相容

    VB.NET C# 與 CLS 相容
    Object object Y
    String string Y
      sbyte N
    Short short Y
    Integer int Y
    Long long Y
    Byte byte Y
      ushort N
      uint N
      ulong N
    Single float Y
    Double double Y
    Boolean bool Y
    Char char Y
    Decimal decimal Y

    转自:  http://dev.csdn.net/article/19/19408.shtm

  • 相关阅读:
    6-Python爬虫-分布式爬虫/Redis
    ES 查询时 排序报错(fielddata is disabled on text fileds by default ... )解决方法
    Intellij Idea webstorm 激活
    Intellij Idea 配置jdk
    java 获取(格式化)日期格式
    js 跳转 XSS漏洞 预防
    CSS去掉背景颜色
    js对象无法当成参数传递 解决方法
    Elasticsearch java api
    java多条件查询SQL语句拼接的小技巧
  • 原文地址:https://www.cnblogs.com/fredx/p/1631923.html
Copyright © 2011-2022 走看看