インデクサ | |
|
インデクサとは?
文字列"ABC"の中から任意の位置の文字(文字列ではない)を取得したが、どうしたら良いのかと聞かれたので下のコードを示しました。 string s = "ABC";これで2番目の文字が取得出来ると答えたら、「s1[1]等と配列の様に取得できませんか」と要望が返ってきた。 これぞインデクサの出番とばかりに インデクサを使って文字列の中から任意の文字を取得する
C# コード
class Programこれで出来ますと答えたら感心して、インデクサって便利ですねと言って、帰っていった。 public char this[int index] がインデクサで有る、this[int index]とは面白い書き方である。 インデクサは引数付きのプロパティで有る
インデクサは引数付きのプロパティで有る、this[ ]とthisの後に引数を書く。int indexの代わりに他のObjectでも良い、要するに引数に従って値を返せばよいので有る。 上のコードの場合は引数がIntegerで、其の番号の頭からの文字を返している。 実はStringクラスは既にインデクサを持っていて、上のコードは単に下のコードで良いのです。 C# コード
static void Main(string[] args) ただし最初のコードは間違っていません、インデクサの設定の仕方が解ると思います。 そしてStringクラスのインデクサはインデクサをどんな時に使用するか理解できる良い例だと思います。 |