Compréhension approfondie de l'instruction C# null !
L'instruction null!
en C# 8.0 est un outil puissant qui permet aux développeurs de supprimer les vérifications de références nulles pour des expressions spécifiques. Cependant, avant de l’utiliser, il est important de comprendre son fonctionnement et ses effets.
Opérateur de tolérance nulle
L'instructionnull!
utilise l'opérateur tolérant nul (!
). Cet opérateur a une double fonctionnalité selon son contexte. Lorsqu'il est appliqué à un type, il modifie la nullité du type de nullable à non nullable. C'est ce qu'on appelle l'opérateur tolérant nul.
Supprimer la vérification nulle
Lorsqu'il est appliqué à une expression (telle que null!
), l'opérateur tolérant les valeurs nulles supprime la vérification nulle pour cette expression spécifique. Cela remplace la valeur nullable de l'expression, lui permettant d'être utilisée comme valeur non nullable pour cette opération spécifique.
Explication technique
C# 8.0 introduit des types de référence nullables pour améliorer la sécurité nulle. Par défaut, tous les types de référence ne sont pas nullables, ce qui signifie qu'ils ne peuvent pas contenir de valeurs nulles. Les opérateurs ?
et !
peuvent remplacer cette valeur par défaut.
?
marque un type comme nullable, lui permettant de contenir des valeurs nulles. D'un autre côté, l'opérateur !
marque un type comme non nullable, garantissant qu'il ne peut pas contenir de valeurs nulles.
Quand utiliser null !?
La déclaration null!
doit être utilisée avec prudence et une utilisation excessive doit être évitée. Il est principalement utilisé dans les scénarios suivants :
Exemple : Comprendre la déclaration null !
Dans le code que vous avez fourni :
FirstName { get; }
est déclarée comme une chaîne non nullable, ce qui signifie qu'elle ne peut pas contenir de valeurs nulles. LastName { get; } = null!
déclare la propriété LastName
comme non nullable, bien qu'elle lui ait initialement attribué la valeur null. En utilisant null!
vous pouvez remplacer la nullabilité par défaut et vous assurer que cette propriété est traitée comme non nullable. Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!