中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中的早期綁定和后期綁定是什么意思

發布時間:2020-12-03 12:04:46 來源:億速云 閱讀:277 作者:小新 欄目:編程語言

小編給大家分享一下C#中的早期綁定和后期綁定是什么意思,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

早期綁定

早期綁定也稱靜態綁定,是指編譯時綁定;早期綁定對象基本上是強類型對象或靜態類型對象。

早期綁定在編譯期間識別并檢查方法、屬性、函數,并在應用程序執行之前執行其他優化。在這個綁定中,編譯器已經知道它是什么類型的對象以及它擁有的方法或屬性。

早期綁定的優點

1、性能很快

2、易于編碼、開發

3、減少了運行時錯誤的數量

示例:

using System; 
  
class People { 
  
    // data members 
    public string name; 
    public string subject; 
  
    // public method 
    public void details(string name, string subject) 
    { 
        this.name = name; 
        this.subject = subject; 
        Console.WriteLine("我的名字是: " + name); 
        Console.WriteLine("我最喜歡的科目是: " + subject); 
    } 
} 
  
class GFG { 
  
    // Main 方法
    static void Main(string[] args) 
    { 
  
        // 創建People類的對象
        People g = new People(); 
  
        // 調用People類的方法 
        g.details("Ankita", "C#"); 
  
        // 調用“myMethod()”時出錯
        // 因為這個方法不屬于People類,或者編譯器在編譯時不知道mymethod()
        g.mymethod(); 
    } 
}

編譯時發生錯誤:

C#中的早期綁定和后期綁定是什么意思

說明:在上面的示例中,我們有一個名為People的類。該類包含details()方法。這里,編譯器已經知道People中存在的屬性和方法。但是當我們嘗試調用mymethod()時,它會拋出一個錯誤,因為編譯器不知道這個方法。

后期綁定

后期綁定也稱動態綁定。在后期綁定中,編譯器不知道它是什么類型的對象以及它擁有的方法或屬性,這里的對象是動態對象。對象的類型是根據它在運行時在右側保存的數據來確定的。基本上,是通過使用虛擬方法來實現后期綁定。

后期綁定的最大優點是這種類型的對象可以保存對任何對象的引用,但缺少早期綁定對象的許多優點。比如:后期綁定的性能比早期綁定慢,因為它需要在運行時進行查找。

示例:

using System; 
  
class GFG { 
    static void Main() 
    { 
        // Dynamic objects 
        dynamic obj = 4; 
        dynamic obj1 = 5.678; 
  
        // 顯示對象的類型
        Console.WriteLine("對象類型為:"); 
  
        // 使用getType()方法來獲取類型
        Console.WriteLine(obj.GetType()); 
        Console.WriteLine(obj1.GetType()); 
    } 
}

輸出:

C#中的早期綁定和后期綁定是什么意思

說明:

在上面的示例中,obj保存整數類型數據,obj1保存雙類型數據。但是編譯器不會在編譯時解決這些問題。在運行時,這些動態對象分別被檢測并轉換為System.Int32和System.Double。這就是為什么運行時解析過程被稱為后期綁定的原因。

看完了這篇文章,相信你對C#中的早期綁定和后期綁定是什么意思有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淮阳县| 油尖旺区| 临桂县| 昌吉市| 河北区| 勐海县| 甘孜县| 南城县| 东阳市| 肇庆市| 宜君县| 九江县| 阿城市| 漳州市| 台山市| 永仁县| 波密县| 深州市| 武汉市| 清远市| 定安县| 庆阳市| 乌什县| 芒康县| 营山县| 英德市| 三门峡市| 漳平市| 南丰县| 宁城县| 建昌县| 崇文区| 东乌| 凌云县| 大洼县| 页游| 饶平县| 营口市| 浦县| 新闻| 上杭县|