.net column

.NET開発者のためのブログメディア
データ

【C#入門】C#のインデクサー(indexer)を使ってプログラミングをする

2020年04月09日

C#では、オブジェクトを配列のように扱う方法としてインデクサーというものがあります。呼び出し方や実装の仕方が通常のコードの書き方と多少異なっており、プロパティと似たような扱い方が可能です。インデクサーを使いこなすことで、コードを簡潔に記述することができます。

PG
インデクサーってなんかカッコ良さようだけど、どうやって使うんですか?
PM
プロパティと挙動は似ていますね。使いこなせれば見やすいコードにすることができますよ。さっそく見ていきましょう。

C#におけるインデクサーの概要

C#におけるインデクサーは、あたかも配列であるかのように呼び出せる機能で、あらかじめユーザーが定義したコードを実行させることができます。クラス名などの名前を定義する必要がないため、コーディングに慣れていれば一目でインデクサーだと分かるでしょう。インデクサーの中で定義するgetは要素型のデータを返す必要があり、setでは要素型の引数を受け取ることになります。

インデクサーを使ったC#のプログラム

インデクサーは配列と似ていますが、中身は別物になっています。最大の特徴はアクセスする際の添え字がint型である必要がないことで、対応したデータを入れるようにすれば文字列でも添え字にすることが可能です。

実行結果

このコードでは、インデクサーで定義した文字配列の中身にアクセスして表示しています。

実行結果

このコードでは、あらかじめインデクサーに登録したキーワードを検索し、対応するインデックスに対応した文字列を返します。インデクサーのインデックスに文字列が適用できることを利用しています。

PG
ちょっと難しそうですが、見た感じはすごく便利そうに見えます!
PM
そうですね。うまく使いこなせれば、凝った使い方もできますよ。

インデクサーの性質や使いどころを熟知する

インデクサーを上手く使った例として挙げられるのは、添え字に文字列を使えることを活かした簡単な辞書クラスでしょう。この使い方はインデクサーならではのもので、1対1の変換をしたい場合に特に威力を発揮します。また、コードを整理する上でも一役買う場面もあるため、C#でのコーディングをする際には意識しておきたいところです。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)