【.NET】従来型のArrayListとジェネリックなDictionary
.NET Framework2.0で新しく追加になったジェネリック(Generic=一般的な、汎用的な)という機能のメモ。
ジェネリック機能についての説明は@ITの記事を参考に。
簡単にいうと、より汎用的に使えるようなクラス(機能)。
使うことが多いArrayListやHashTableにジェネリックなクラスが新たに用意されています。
従来型 | ジェネリック | 説明 |
ArrayList | List | 可変サイズの1次元リスト |
Hashtable | Dictionary | キー/値ペアのコレクション |
この辺も@ITの記事で詳しく書いてあるので参考に。
従来型のHashTableは値が全てObject型となっていましたが、Dictionaryはインスタンス化するときに値の型を宣言する必要があります。
Object型の場合、なんでも格納できるので便利なような気もしますが、取り出して使用するときに明示的に型の変換をしないといけないので、効率的ではないようです。MSDNにも値をObject型以外にした場合、Dictionaryの方が速いと書いてありました。ここ。
ケースバイケースだと思いますが、今後は積極的にジェネリックな機能を使っていった方がよいようです。