Menu
Coddy logo textTech

Les bases des références nulles

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

En C#, une référence null représente l'absence d'un objet. Comprendre comment travailler avec des valeurs null est essentiel pour écrire un code robuste.

Déclarez une variable de type référence (comme string) sans lui assigner de valeur :

string name = null;

La variable 'name' contient maintenant une référence null, ce qui signifie qu'elle ne pointe vers aucun objet en mémoire.

Tenter d'utiliser une référence null sans vérification peut provoquer des erreurs d'exécution :

string name = null;
// This will throw a NullReferenceException
int length = name.Length;

Vous pouvez vérifier si une référence est null avant de l'utiliser :

string name = null;
if (name != null)
{
    // Il est sûr d'utiliser name ici
    int length = name.Length;
}

Vous pouvez également affecter une valeur non nulle à la variable :

string name = null;
name = "John";
// Now it's safe to use name
int length = name.Length; // length will be 4
challenge icon

Défi

Facile

Créez une méthode appelée ProcessName qui prend un paramètre string appelé name. La méthode devrait :

  1. Vérifier si le nom est null
  2. Si le nom est null, afficher : "Name is null"
  3. Si le nom n'est pas null, afficher : "Name length is X" (où X est la longueur du nom)

Aide-mémoire

Une référence null représente l'absence d'un objet en C#.

Déclarez une variable de type référence avec null :

string name = null;

Utiliser des références null sans vérification provoque des erreurs d'exécution :

string name = null;
// This will throw a NullReferenceException
int length = name.Length;

Vérifiez la nullité avant utilisation :

string name = null;
if (name != null)
{
    // Safe to use name here
    int length = name.Length;
}

Assignez une valeur non null pour la rendre sûre à utiliser :

string name = null;
name = "John";
int length = name.Length; // length will be 4

Essayez vous-même

using System;

class Program
{
    public static void ProcessName(string name)
    {
        // Écrivez votre code ici
    }
    
    static void Main(string[] args)
    {
        string input = Console.ReadLine();
        
        // Convertir la chaîne "null" en null réel
        string name = input.ToLower() == "null" ? null : input;
        
        ProcessName(name);
    }
}
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