インデクサー

インデクサー - C# によるプログラミング入門 | ++C++; // 未確認飛行 C


配列の[]をオーバーロードできる機能です。

定義の仕方はプロパティと似ています。

using System;

class Class {
    public int[] data = new int[10];
    
    public int this[int i] {
        set { data[i] = value; }
        get { return data[i]; }
    }
}

class Program {
    static void Main() {
        var cobj = new Class();
        
        cobj[0] = 10;
        
        Console.WriteLine(cobj[0]);
    }
}
$ main
10

いいですね。ただしforeachが使えないみたいなので、こういった処理を書くんであればICollectionやIList等を使って実装した方が良いとのことです。