Menu
Coddy logo textTech

Patterns de vérification de nullité

Fait partie de la section Logique & Flux du Journey C# de Coddy — leçon 33 sur 66.

La vérification de nullité est une partie essentielle de l'écriture de code C# robuste. Il existe plusieurs motifs que vous pouvez utiliser pour vérifier les valeurs nulles en toute sécurité.

Explorons quelques motifs courants de vérification de nullité :

Tout d'abord, la vérification de base si nul :

string name = null;

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

Un autre modèle courant est l'opérateur conditionnel null (?.), qui accède en toute sécurité aux membres d'objets potentiellement nuls :

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

L'opérateur de coalescence nulle (??) fournit une valeur par défaut lorsqu'une expression est nulle :

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

Vous pouvez également chaîner ces motifs pour des scénarios plus complexes :

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

La méthode string.IsNullOrWhiteSpace() vérifie si une chaîne est null, vide ou ne contient que des caractères d'espacement. C'est une façon pratique de valider une entrée de chaîne en un seul appel :

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
}

Utilisez string.IsNullOrWhiteSpace() lorsque vous souhaitez traiter null, les chaînes vides et les chaînes ne contenant que des espaces comme des entrées invalides équivalentes.

challenge icon

Défi

Facile

Créez une méthode appelée processUserName qui prend un paramètre de chaîne userName. La méthode doit :

  1. Si userName est null, retourner "No user provided"
  2. Si userName est vide ou ne contient que des espaces, retourner "Invalid username"
  3. Sinon, retourner "Welcome, [userName]!" où [userName] est le nom d'utilisateur réel

N'oubliez pas d'utiliser des motifs de vérification de null appropriés.

Aide-mémoire

Utilisez == null pour une vérification de null basique :

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

Utilisez l'opérateur conditionnel null ?. pour accéder en toute sécurité aux membres :

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

Utilisez l'opérateur de coalescence null ?? pour fournir des valeurs par défaut :

string displayName = name ?? "Unknown";

Utilisez string.IsNullOrWhiteSpace() pour vérifier les chaînes null, vides ou ne contenant que des espaces :

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

Chaînez les opérateurs pour des scénarios complexes :

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

Essayez vous-même

using System;

class ProcessUserName
{
    public static string processUserName(string userName)
    {
        // Écrivez votre code ici
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux