ArrayListにstringしか使用しないって決まっている場合は、StringCollectionというクラスを使用するほうがボックス化しない分、処理が早いです。インターフェースもほぼ変える必要なしなので、置換しやすい。
StringCollectionは、System.Collections.Specializedにあって、そこには、Hashtableに文字しか使わないStringDictionaryというクラスもあります。
喜んで使っていたんだけど、List<string>のほうが高速でした。ものすごい微差だけど。
StringDictionaryとDictionary
の挙動が少し違っていて、存在しないキーを指定したときに、StringDictionaryはnullが返るけれど、DictionaryはKeyNotFoundExceptionで飛びますね。きっとそんな差なのでしょうかね。
0 件のコメント :
コメントを投稿