C Sharp/インデクサー

提供: MonoBook
< C Sharp
2012年4月5日 (木) 10:15時点におけるimported>Administratorによる版 (→‎関連項目)
ナビゲーションに移動 検索に移動

インデクサー(英:indexer)とは、C#に搭載されているユーザー定義型を配列のように扱えるようにする機構のことである。

C++における添字参照演算子([]演算子)のオーバーロードと似たようなもので、さらに取得(get)と設定(set)のそれぞれに別々のメソッドを割り当てれるようになったものと思って間違いない。

インデクサーの書式はプロパティーの書式に似ている。

記述例。

class Hoge {

    private String[] _data = new String[5];

    public String this [int index] {
        get { return _data[index]; }
        set { _data[index] = value; }
    }
}

// var hoge = new Hoge();
// hoge[0] = "aaa";
// hoge[1] = "bbb";

C++の添字参照演算子([]演算子)のオーバーロードの例。 10年ぶりくらいにC++を書いた気がする。 もしかすると間違っているかもしれない。

#include <iostream>
#include <string>
using namespace std;

class Hoge {
private:
    string _data[5];
public:
    string& operator[](int index) {
        return _data[index];
    }
};

int main() {
    Hoge hoge;
    hoge[0] = "aaa";
    cout << hoge[0] << endl;
    return 0;
}

関連項目

参考文献

外部リンク