管理人の技術ブログです。ひとつはオブジェクト初期化子で、インスタンス生成時にコンストラクタ引数を利用せずにフィールドやプロパティの値を設定するものです。ひとつはコレクション初期化子で、これも同様にインスタンス生成時にコンストラクタ引数を利用せずにコレクションの初期要素を設定できます。文で同様の初期化ができる、という点から大変重宝されてます。初期化されないようにするためです。型のコレクション初期化子の書き方について見てみましょう。以下のようなコードで書くのですが、微妙に直観的でないというか、エレガントさに欠けるという難点がありました。インデックス初期化子という新たなシンタックスが追加されました。それにより以下のように記述できるようになります。見た目は微々たる違いですが、インデックスアクセスするものに対する直観的な記述をサポートすることで、書き易さと理解のし易さを提供しています。"five",};逆コンパイル先のインデックス初期化子の例を逆コンパイルして、どのように展開されるか確認してみます。結果は以下のようなインデクサによるアクセスに変換されます。メソッドへの変換だったので、展開方法が異なることが分かります。可能なインデクサを実装していることだけです。この要件を満たせば独自型へも適用することができます。試しに独自型に対してインデックス初期化子を適用してみます。以下にそのサンプルを示しますが、インデクサを実装するだけなので非常に簡単ですね。(1)月別アーカイブはてなブログをはじめよう!xin9leさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。