Menu
Coddy logo textTech

Null Checking Patterns

Parte de la sección Lógica y Flujo del Journey de C# de Coddy — lección 33 de 66.

La comprobación de null es una parte esencial de la escritura de código C# robusto. Hay varios patrones que puedes usar para comprobar valores null de forma segura.

Exploremos algunos patrones comunes de verificación de null:

Primero, la comprobación básica de nulidad:

string name = null;

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

Otro patrón común es el operador null-condicional (?.), que accede de forma segura a los miembros de objetos potencialmente null:

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

El operador de coalescencia nula (??) proporciona un valor predeterminado cuando una expresión es nula:

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

También puedes encadenar estos patrones para escenarios más complejos:

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

El método string.IsNullOrWhiteSpace() verifica si una cadena es null, está vacía o contiene solo caracteres en blanco. Es una forma conveniente de validar la entrada de cadena en una sola llamada:

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
}

Utiliza string.IsNullOrWhiteSpace() cuando desees tratar null, cadenas vacías y cadenas solo con espacios en blanco como entrada inválida equivalente.

challenge icon

Desafío

Fácil

Crea un método llamado processUserName que tome un parámetro de tipo string userName. El método debe:

  1. Si userName es null, devuelve "No user provided"
  2. Si userName está vacío o solo contiene espacios en blanco, devuelve "Invalid username"
  3. De lo contrario, devuelve "Welcome, [userName]!" donde [userName] es el nombre de usuario real

Recuerda usar patrones de verificación de null apropiados.

Hoja de referencia

Usa == null para comprobación básica de null:

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

Usa el operador condicional null ?. para acceder de forma segura a los miembros:

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

Usa el operador de coalescencia null ?? para proporcionar valores predeterminados:

string displayName = name ?? "Unknown";

Usa string.IsNullOrWhiteSpace() para comprobar cadenas nulas, vacías o formadas solo por espacios en blanco:

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

Encadena operadores para escenarios complejos:

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

Pruébalo tú mismo

using System;

class ProcessUserName
{
    public static string processUserName(string userName)
    {
        // Escribe tu código aquí
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo