C# - IsNullOrEmpty ou IsNullOrWhiteSpace ?


 Neste artigo vou mostrar como usar janela C# Interative do Visual Studio 2015 Community.

Antes de partirmos para a definição de cada um dos comandos vamos recordar alguns conceitos importantes:

O que é uma cadeia de caracteres nula?
 
Uma cadeia de caracteres (string) é null se a ela não tiver sido atribuído um valor (em C++ e Visual Basic) ou se tiver sido atribuído explicitamente um valor de null.
String s = null;
O que é uma cadeia de caracteres vazia?
 
Uma cadeia de caracteres está vazia se a ela for atribuída explicitamente uma cadeia de caracteres vazia ("") ou String.Empty. Uma cadeia de caracteres vazia tem um Length igual a 0.

Nota:  s = String.Empty é igual a  s=""

String s = "";

Quando você define uma string com o valor "" em vez de string.Empty, o compilador C# vai reconhecer o valor dos dados da string.

O runtime (tempo de execução) não faz parte dessa decisão. Isso ocorre antes que o mecanismo de execução seja iniciado e antes do JIT ocorrer.

Como string.Empty é inicializado no construtor estático para a classe String, ele não pode ser determinado quando você compila seu programa. É um campo somente leitura.

1- IsNullOrEmpty

Indica se a string especificada for null ou uma string vazia (empty). (System.String.Empty)

Ela retorna true se o parâmetro é null ou empty ou uma string vazia (empty) .

É equivalente o seguinte código:

result = s == null || s == String.Empty;

2 - IsNullOrWhiteSpace

Indica se a string especificada é null , empty (vazia), ou consiste somente de espaço em branco.(" ")

Ela retorna true se o parâmetro for null ou Empty (System.String.Empty) ou se o valor consiste exclusivamente de espaços em branco.

Exemplo:

using static System.Console;
namespace C_IsNullEmpty_2
{
    class Program
    {
        static void Main(string[] args)
        {
            string nullString = null;
            string emptyString = "";
            string spaceString = "    ";
            string tabString = "\t";
            string newlineString = "\n";
            string nonEmptyString = "texto";
            
            WriteLine(string.IsNullOrEmpty(nullString));
            WriteLine(string.IsNullOrEmpty(emptyString));
            WriteLine(string.IsNullOrEmpty(spaceString));
            WriteLine(string.IsNullOrEmpty(tabString));
            WriteLine(string.IsNullOrEmpty(newlineString));
            WriteLine(string.IsNullOrEmpty(nonEmptyString));
            WriteLine();

            WriteLine(string.IsNullOrWhiteSpace(nullString));
            WriteLine(string.IsNullOrWhiteSpace(emptyString));
            WriteLine(string.IsNullOrWhiteSpace(spaceString));
            WriteLine(string.IsNullOrWhiteSpace(tabString));
            WriteLine(string.IsNullOrWhiteSpace(newlineString));
            WriteLine(string.IsNullOrWhiteSpace(nonEmptyString));
            ReadLine();
        }
    }
}

E estamos conversados...

(Disse Jesus) Todo o que o Pai me dá virá a mim; e o que vem a mim de maneira nenhuma o lançarei fora.
João 6:37

 

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

 

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

 

Referências:


José Carlos Macoratti