Embora seja uma das tarefas mais triviais da programação a comparação entre strings costuma gerar muito bugs nos sistema por um simples detalhe.
No .Net assim como na maioria das linguagens de programação por padrão a comparação de string é case sensitive, com isso temos erros como
No .Net assim como na maioria das linguagens de programação por padrão a comparação de string é case sensitive, com isso temos erros como
var1 = "teste";
var2 = "Teste";
if (var1 == var2)
//aos olhos do programador inexperiente o código deveria executar essa parte
else
// mas como a comparacao é case sensitive o bloco executado será esse
/////////////////////// Para corrigir esse pequeno Bug devemos usar o código abaixo //////////////////////////////////
if (var1.Equals(var2, StringComparison.OrdinalIgnoreCase))
// Agora sim esse código sera executado
else
//E esse sera ignorado
Outra forma de evitar esse erro seria usar a função ToLower (caixa baixa) ou ToUpper (caixa baixa) para que ambos as variaveis fiquem com a mesma caixa.
Links de referência:
http://msdn.microsoft.com/en-us/library/system.stringcomparison.aspx
http://msdn.microsoft.com/en-us/library/ms973919.aspx