Menu
Coddy logo textTech

Null Checking Patterns

Parte da seção Lógica & Fluxo do Journey de C# da Coddy — lição 33 de 66.

A verificação de null é uma parte essencial da escrita de código C# robusto. Existem vários padrões que você pode usar para verificar valores null de forma segura.

Vamos explorar alguns padrões comuns de verificação de null:

Primeiro, a verificação básica de nulidade:

string name = null;

if (name == null)
{
    Console.WriteLine("Name is null");
}

Outro padrão comum é o operador condicional nulo (?.), que acessa com segurança membros de objetos potencialmente nulos:

string name = null;
int? length = name?.Length;  // length will be null

O operador de coalescência nula (??) fornece um valor padrão quando uma expressão é null:

string name = null;
string displayName = name ?? "Unknown";  // displayName will be "Unknown"

Você também pode encadear esses padrões para cenários mais complexos:

string name = null;
int length = (name ?? "").Length;  // length will be 0

O método string.IsNullOrWhiteSpace() verifica se uma string é null, vazia ou contém apenas caracteres de espaço em branco. É uma maneira conveniente de validar a entrada de string em uma única chamada:

string name = null;

if (string.IsNullOrWhiteSpace(name))
{
    Console.WriteLine("No name provided");  // this will print
}

string blank = "   ";

if (string.IsNullOrWhiteSpace(blank))
{
    Console.WriteLine("Blank name provided");  // this will also print
}

Use string.IsNullOrWhiteSpace() quando quiser tratar null, strings vazias e strings apenas com espaços em branco como entrada inválida equivalente.

challenge icon

Desafio

Fácil

Crie um método chamado processUserName que recebe um parâmetro string userName. O método deve:

  1. Se userName for null, retorne "No user provided"
  2. Se userName estiver vazio ou conter apenas espaços em branco, retorne "Invalid username"
  3. Caso contrário, retorne "Welcome, [userName]!" onde [userName] é o nome de usuário real

Lembre-se de usar padrões apropriados de verificação de null.

Folha de consulta

Use == null para verificação básica de nulo:

if (name == null)
{
    Console.WriteLine("Name is null");
}

Use o operador condicional nulo ?. para acessar membros de forma segura:

int? length = name?.Length;  // length will be null if name is null

Use o operador de coalescência nula ?? para fornecer valores padrão:

string displayName = name ?? "Unknown";

Use string.IsNullOrWhiteSpace() para verificar strings nulas, vazias ou apenas com espaços em branco:

if (string.IsNullOrWhiteSpace(name))
{
    Console.WriteLine("Name is null, empty, or whitespace");
}

Encadeie operadores para cenários complexos:

int length = (name ?? "").Length;  // length will be 0 if name is null

Experimente você mesmo

using System;

class ProcessUserName
{
    public static string processUserName(string userName)
    {
        // Escreva seu código aqui
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo