首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 與 Java 深度比較(三):索引器與委派——語法糖與類型安全函數指標

     編輯:關於C語言

索引器:物件即陣列

C# this[int index] 語法讓物件支援陣列存取語法,內部封裝 get/set 邏輯:

public class Skyscraper {
    private Story[] stories;
    public Story this[int index] {
        get => stories[index];
        set { if (value != null) stories[index] = value; }
    }
}
var building = new Skyscraper(...);
building[102] = new Story("The Top One", ...); // 直觀語法

Java 需呼叫 getStory(102)/setStory(102, ...),較冗長。

委派:類型安全的函數指標

本質:封裝方法簽名的物件,可參考多個方法 (多播),支援實例/靜態方法。

  • vs C++ 函數指標:委派類型安全、可多播、支援實例方法隱含 this
  • vs Java 介面:委派無需定義介面類別、無需建立實作類實例、語法更輕量

核心應用:**事件處理** (見下篇)。Anders Hejlsberg 設計委派意在「取代指標」,中文譯「指代」更貼切 (取代+代理)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved