読者です 読者をやめる 読者になる 読者になる

checkpoint

自分用のIT技術系ノートです。古い情報や間違っている情報もあるので注意。

(v1.1対象)StringDictinaryのKeyは強制的に小文字にされる

久しぶりにメモっぽくブログ更新。



StringDictionary クラス (System.Collections.Specialized)

は、Stringを扱うDictionaryが必要な場合に使ったりします。



Hashtable クラス (System.Collections)

と違ってキャストが必要ないから。

しかしここで思わぬ落とし穴が…

MSDNのStringDictionaryの説明から引用

キーは大文字と小文字を区別せずに処理されます。つまり、キーは文字列ディクショナリで使用される前に小文字に変換されます。

「大文字と小文字を区別しないこと」と「小文字に強制変換すること」は違うと思うのですが…

とにかくStringDictinaryのキーは小文字に強制変換されます。

HashTableではそういうことはないので、小文字にされて困る場合はHashTableを使いましょう。

まあ、v2.0以上の場合は

Dictionary ジェネリック クラス (System.Collections.Generic)

使えばいいってことです。

どっとはらい