C#: Comparação de cadeia de caracteres

Dica em C#: Você está usando ToLowerCase ou ToUpperCase para comparar o conteúdo da cadeia de caracteres com distinção entre maiúsculas e minúsculas? Se sim, então este é para você.

Tanto ToLowerCase quanto ToUpperCase criarão uma nova cadeia de caracteres "em segundo plano" devido à imutabilidade das cadeias de caracteres. Dito isto, você cria novos objetos, que você descarta diretamente depois.

Uma abordagem melhor é usando as sobrecargas, onde você usa o objeto StringComparison. Por exemplo, use OrdinalIgnoreCase se você não precisar de nenhum aspecto cultural ou InvariantCultureIgnoreCase se você quiser usar regras de comparação sem variações regionais.