差分

ナビゲーションに移動 検索に移動

C Sharp/インデクサー

758 バイト追加, 2012年6月15日 (金) 02:54
編集の要約なし
'''インデクサー'''(英:indexer)とは、[[C Sharp|C#]]に搭載されているユーザー定義型をにおける'''インデクサー'''(英:indexer)とは、ユーザー定義型をまるで[[配列]]のように扱えるようにする機構のことである。
インデクサーは[[C++]]における添字参照演算子([]演算子)のオーバーロードと似たようなもので、さらに取得(get)と設定(set)のそれぞれに別々のメソッドを割り当てれるようになったものと思って間違いない。演算子)のオーバーロードと似たようなものであり、さらに取得(get)と設定(set)のそれぞれに別々のメソッドを割り当てれ、かつgetとsetのそれぞれにアクセシビリティレベル(publicやprivateなど。[[アクセスレベル]]と略されることが多い)も指定できるようになったものと思ってほぼ間違いない。
インデクサーの書式は== 記述例 ==[[C Sharp|C#]]におけるインデクサーの書式は[[プロパティー]]の書式に似ている。 記述例。の書式に非常に似ている。
<source lang="csharp">
// C#によるインデクサーの記述例
class Hoge {
public String this [int index] {
// アクセスレベルを指定しないとpublicになる。 get { return _data[index]; } // アクセスレベルはinternal(同一アセンブリまで公開) internal set { _data[index] = value; }
}
}
//上記クラスは以下のような感じで配列のように扱えるようになる。
// var hoge = new Hoge();
// hoge[0] = "aaa";
</source>
=== 参考:C++における添字参照演算子([]演算子)のオーバーロードの例 ===[[C Sharp|C#]]のインデクサーに似ていると言われる[[C++]]の添字参照演算子(における添字参照演算子([]演算子)のオーバーロードの例。
10年ぶりくらいにC++を書いた気がする。
もしかすると間違っているかもしれない。
匿名利用者

案内メニュー