Dicionários que não diferenciam maiúsculas de minúsculas em .Net

Se você estiver usando um dicionário (com chaves de string) em .Net e precisar chamar .ToLower () ou .ToUpper () em sua chave, lembre-se de que você pode criar esse dicionário com letras maiúsculas irrelevantes:

new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);

Vejo isso mais útil quando uma string é a chave, mas tudo o que você realmente precisa aqui é uma instância de IEqualityComparer <T>, onde T é o tipo da sua chave. No exemplo acima, estou apenas aproveitando algo já integrado à estrutura.