Opérateur de suppression de null
Contexte : L’opérateur de suppression de null (!) supprime les avertissements nullable lorsque vous êtes certain qu’une expression n’est pas nulle.
#nullable enablestring? maybeNull = GetString();int length = maybeNull!.Length; // pas d’avertissement, mais risquéCas d’utilisation
Section intitulée « Cas d’utilisation »- Lorsque vous savez qu’une valeur n’est pas nulle malgré l’analyse du compilateur
- Pour les tests unitaires où vous assignez intentionnellement null
- Interopérabilité avec des frameworks qui utilisent des types non nullables mais peuvent retourner null
Exemple d’utilisation dans le monde réel
Section intitulée « Exemple d’utilisation dans le monde réel »Injection de dépendances : Lorsque vous enregistrez un service comme non nullable mais que le conteneur DI le garantit, vous pouvez utiliser ! après la résolution.
var service = services.GetRequiredService<IMyService>()!;Exemple : Dans ASP.NET Core, GetRequiredService lève une exception si non trouvé, donc utiliser ! est sûr.