Aller au contenu

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 enable
string? maybeNull = null; // autorisé
string notNull = "text";
notNull = maybeNull; // avertissement
public string? FindName(int id) => id == 0 ? null : "John";
public void Process(string name) { }
// L’appel Process(FindName(0)) -> avertissement : argument possiblement null

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.