メインメニューを開く

「C Sharp/インデクサー」を編集中

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
1行目: 1行目:
[[C Sharp|C#]]における'''インデクサー'''(英:indexer)とは、ユーザー定義型をまるで[[配列]]のように扱えるようにする機構のことである。
+
'''インデクサー'''(英:indexer)とは、[[C Sharp|C#]]に搭載されているユーザー定義型を配列のように扱えるようにする機構のことである。
  
インデクサーは[[C++]]における[[添字参照演算子]]([]演算子)の[[オーバーロード]]と似たようなものであり、さらに取得(get)と設定(set)のそれぞれに別々の[[メソッド]]を割り当てれ、かつgetとsetのそれぞれに[[アクセシビリティレベル]](publicやprivateなど。[[アクセスレベル]]と略されることが多い)も指定できるようになったものと思ってほぼ間違いない。
+
[[C++]]における添字参照演算子([]演算子)のオーバーロードと似たようなもので、さらに取得(get)と設定(set)のそれぞれに別々のメソッドを割り当てれるようになったものと思って間違いない。
  
== 記述例 ==
+
インデクサーの書式は[[プロパティー]]の書式に似ている。
[[C Sharp|C#]]におけるインデクサーの書式は[[プロパティー]]の書式に非常に似ている。
+
 
 +
記述例。
 
<source lang="csharp">
 
<source lang="csharp">
// C#によるインデクサーの記述例
 
 
class Hoge {
 
class Hoge {
  
12行目: 12行目:
  
 
     public String this [int index] {
 
     public String this [int index] {
        // アクセスレベルを指定しないとpublicになる。
+
         get { return _data[index]; }
         get {  
+
         set { _data[index] = value; }
            return _data[index];  
 
        }
 
         // アクセスレベルはinternal(同一アセンブリまで公開)
 
        internal set {  
 
            _data[index] = value;  
 
        }
 
 
     }
 
     }
 
}
 
}
  
//上記クラスは以下のような感じで配列のように扱えるようになる。
 
 
// var hoge = new Hoge();
 
// var hoge = new Hoge();
 
// hoge[0] = "aaa";
 
// hoge[0] = "aaa";
29行目: 22行目:
 
</source>
 
</source>
  
=== 参考:C++における添字参照演算子([]演算子)のオーバーロードの例 ===
+
[[C++]]の添字参照演算子([]演算子)のオーバーロードの例。
[[C Sharp|C#]]のインデクサーに似ていると言われる[[C++]]における[[添字参照演算子]]([]演算子)の[[オーバーロード]]の例。
+
10年ぶりくらいにC++を書いた気がする。
10年ぶりくらいに[[C++]]を書いた気がする。
+
もしかすると間違っているかもしれない。
もしかするとこの[[ソースコード]]は間違っているかもしれない。
 
 
<source lang="cpp">
 
<source lang="cpp">
 
#include <iostream>
 
#include <iostream>
56行目: 48行目:
  
 
== 関連項目 ==
 
== 関連項目 ==
* [[スライス]]
 
 
* [[プロパティー]]
 
* [[プロパティー]]
 
* [[アクセサー・メソッド]]
 
* [[アクセサー・メソッド]]
62行目: 53行目:
  
 
== 参考文献 ==
 
== 参考文献 ==
{{reflist}}
+
<references/>
 +
== 外部リンク ==
  
 
{{stub}}
 
{{stub}}

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: