Comparação de Texto (String)

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

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

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s