また別の例として、大文字と小文字の違いを無視してキーを扱うDictionaryを作成したい場合は次のようにします。
StringComparerを指定してキーの大文字と小文字の違いを無視するDictionaryを作成する
Imports System
Imports System.Collections.Generic
Class Sample
Shared Sub Main()
' キーの大文字小文字の違いを無視するDictionaryを作成する
Dim dict As New Dictionary(Of String, String)(StringComparer.InvariantCultureIgnoreCase)
' キー"foo"に値を設定
dict("foo") = "bar"
' キー"FOO"の値を参照
Console.WriteLine(dict("FOO")) ' KeyNotFoundExceptionはスローされない
End Sub
End Class
実行結果
bar
上記の例ではStringComparerクラスを指定することでDictionaryのキー比較処理をカスタマイズしています。
このように、大文字小文字の無視の他にも特定カルチャに依存した(あるいは依存しない)並べ替え規則の適用など、目的に応じて比較オプションを選択することができます。