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 4Défi
FacileCréez une méthode appelée ProcessName qui prend un paramètre string appelé name. La méthode devrait :
- Vérifier si le nom est null
- Si le nom est null, afficher : "Name is null"
- 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 4Essayez 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);
}
}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
1Tableaux multidimensionnels
Bases des tableaux 2DDéclaration et initialisation en 2DAccès aux éléments d'un tableau 2DBoucles imbriquées et tableaux 2DTableaux irréguliersOpérations matricielles courantesRécapitulatif - Multidimensionnel4Techniques de contrôle de flux
Retours anticipésClauses de gardeInstructions de saut (goto)Break et ContinueAplatir les conditionnelles imbriquées2Prise de décision avancée
Conditions multiplesLogique booléenne complexeComparaison If vs SwitchInstructions Switch imbriquéesRécapitulatif - Décisions avancées5Gestion des exceptions
Bases du Try-CatchTypes d'exceptionsBlocs Catch multiplesManipulation de fichiersLe bloc FinallyUsing vs Try-FinallyExceptions personnaliséesRécapitulatif - Gestion des erreurs3Améliorations des boucles
Performance des bouclesItération de structures complexesChaque type de boucleRefactorisation des bouclesRécapitulatif - Boucles optimisées6Gestion des valeurs nulles
Les bases des références nullesTypes valeur nullablesPatterns de vérification de nullitéProgrammation défensiveRécapitulatif - Null Safety