string point d’interrogation référence nullable
Contexte : Ajoutez ? à un type référence pour indiquer qu’il peut être null. Sans ?, le type est considéré comme non nullable.
#nullable enablestring? maybeNull = null; // autoriséstring notNull = "text";notNull = maybeNull; // avertissementParamètres de méthode et types de retour
Section intitulée « Paramètres de méthode et types de retour »public string? FindName(int id) => id == 0 ? null : "John";public void Process(string name) { }// L’appel Process(FindName(0)) -> avertissement : argument possiblement nullExemple d’utilisation dans le monde réel
Section intitulée « Exemple d’utilisation dans le monde réel »Résultats de requête de base de données : Une méthode qui recherche un utilisateur par ID retourne User? (nullable) car l’utilisateur peut ne pas exister. Cela force l’appelant à gérer le cas null.
Exemple : Dans Entity Framework Core, FirstOrDefault() retourne T? (nullable) pour les types référence.