C# Dictionary キー文字列の大文字・小文字の区別
デフォルトでは大文字と小文字は区別される
大文字と小文字を区別するには、StringComparer
クラスのプロパティをオプションを指定する
Usage
デフォルトのDictionaryとOrdinalIgnoreCase
を指定したDictionaryを検証
// 正常に動作する
var dict = new Dictionary<string, string>()
{
{"A", "1"},
{"a", "2"},
};
// A と a が同じキーとして扱われエラーが発生する
var dict_ignore = new Dictionary<string, string>
(StringComparer.OrdinalIgnoreCase)
{
{"A", "1"},
{"a", "2"},
};
StringComparer.OrdinalIgnoreCase
を指定した場合、下記エラーとなる
Unhandled exception. System.ArgumentException: An item with the same key has already been added. Key: a
Reference
Dictionary
Dictionary
StringComparer クラス