Trabalhando com String

Olá pessoal tudo bem?
Nesse post quero mostrar algumas dicas que podemos utilizar no nosso dia a dia.
Em vários projetos já vi varias pessoas fazendo validações de string de uma maneira bem tradicional e acabam esquecendo as facilidades que temos no C#.
Vamos para a validação de string, precisamos validar se a nossa variável está vazia ou nula, a maneira que muitos utilizam.

public static bool ExemploString1(string valor)
{
   if (valor != null && valor != "")
        return true;
    else
        return false;
}
public static bool ExemploString2(string valor)
{
    return valor != null && valor != "";
}

Para verificar utilize o seguinte método abaixo.
O método string.IsNullOrEmpty(meuvalor), verifica se a string e nula ou vazia e retorna um verdadeiro ou falso.

Alguns métodos bem úteis para verificar se as strings são iguais:

string valorA = "teste";
string valorB = "teste";

var retorno = string.Compare(valorA, valorB, true) == 0;

O método retorna:

 1, se a maior que b;
 0 , se a igual a b;
 1, se a  menor que b;
 var retorno = valorA. Equals(valorB) ;

Lembrando que, caso umas das letras esteja em maiúscula ou minúscula o retorno será falso, caso queira comparar ignorando a letra maiúscula ou minúscula podemos utilizar o código abaixo.

 var retorno = valorA.Equals(valorB,System.StringComparison.InvariantCultureIgnoreCase);

Uma dica bem útil, quando precisamos fazer repetidas modificações em uma string pode ser que ocorra uma sobrecarga de objetos.
Toda vez que criamos um novo objeto string na memória , o qual requer uma nova alocação de espaço para o objeto criado. Em situações onde você precisa realizar repetidas modificações em uma string a sobrecarga de ter que criar um novo objeto String pode lhe trazer problemas. Nestas situações é que entra a classe StringBuilder , ela faz parte do namespace System.Text ; então a classe System.Text.StringBuilder pode ser usada para modificar uma string sem que seja necessário criar um novo objeto. Por exemplo a concatenação de strings em um loop pode ser uma destas situações onde o uso de StringBuilder pode melhorar muito o desempenho do seu código.“.
referência http://www.macoratti.net/vbn_strb.htm

Maneira errada:

var nome = "TRABALHANDO COM STRING";
            string novoNome =null;

            for (int i = nome.Length - 1; i > -1; i--)
            {
                novoNome += nome[i];
            }

Maneira correta:

 var nome = "TRABALHANDO COM STRING";
            StringBuilder novoNome = new  StringBuilder();

            for (int i = nome.Length - 1; i > -1; i--)
            {
                 novoNome.Append(nome[i]);
            }

Bom pessoal até o próximo post, uma dica esperta sempre baixe projeto open source para ver como foi codificado segue o link do http://www.codeplex.com/

LEAVE A COMMENT