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 modèles que vous pouvez utiliser pour vérifier les valeurs nulles en toute sécurité.

Explorons quelques modèles courants de vérification de nullité :

Tout d'abord, la vérification de base if-null :

string name = null;

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

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

string name = null;
int? length = name?.Length;  // length sera 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 sera "Unknown"

Vous pouvez également enchaîner ces modèles pour des scénarios plus complexes :

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

La méthode string.IsNullOrWhiteSpace() est un moyen pratique de vérifier si une chaîne est nulle, vide ou ne contient que des caractères d'espacement — le tout en un seul appel :

string name = null;

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

Ceci est particulièrement utile lorsque vous devez traiter de la même manière les valeurs nulles, les chaînes vides et les chaînes composées uniquement d'espaces blancs. Par exemple :

string name1 = null;
string name2 = "";
string name3 = "   ";

// Les trois afficheront le message
if (string.IsNullOrWhiteSpace(name1)) Console.WriteLine("name1 is null/empty/whitespace");
if (string.IsNullOrWhiteSpace(name2)) Console.WriteLine("name2 is null/empty/whitespace");
if (string.IsNullOrWhiteSpace(name3)) Console.WriteLine("name3 is null/empty/whitespace");

Notez que string.IsNullOrWhiteSpace() est différent d'une simple vérification de valeur nulle — il détecte également les chaînes vides et les chaînes qui ne contiennent que des espaces, des tabulations ou d'autres caractères d'espacement.

challenge icon

Défi

Facile

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

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

N'oubliez pas d'utiliser les modèles de vérification de nullité appropriés.

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