Maison > développement back-end > C++ > Que signifie l'opérateur « ! » (Null-Forgiving) en C# 8.0 ?

Que signifie l'opérateur « ! » (Null-Forgiving) en C# 8.0 ?

Patricia Arquette
Libérer: 2025-01-09 10:16:45
original
977 Les gens l'ont consulté

What Does the `!` (Null-Forgiving) Operator Mean in C# 8.0?

null! Signification de l'opérateur

Dans C# 8.0 et sa fonctionnalité de types de référence nullables, l'opérateur ! a un nouvel objectif, appelé « opérateur tolérant les valeurs Null ». Lorsqu'il est appliqué à un type, cet opérateur remplace la valeur nullable de la valeur, la rendant non nullable, ce qui signifie que bien que nullable par défaut, null est traité comme un type « non nul ».

Exemple pratique

Considérons une classe où les propriétés LastName sont nullables et les propriétés MiddleName non nullables :

<code class="language-csharp">public class Person
{
    public string? LastName { get; set; }
    public string MiddleName { get; set; } = null!;
}</code>
Copier après la connexion

Différence entre la première et la deuxième ligne

  • Première ligne : La propriété LastName est nullable, ce qui lui permet de contenir une valeur nulle, représentée par l'opérateur ?.
  • Deuxième ligne : les attributs MiddleName ne sont pas nullables, représentés par !. Cela signifie qu'il ne peut pas contenir de valeurs nulles. Cependant, l'expression null! remplace explicitement cette non-nullabilité et traite null comme une valeur non nulle.

Explication technique

C# 8.0 a introduit la « sécurité nulle », où tous les types de référence ne sont pas nullables par défaut. Pour représenter un type nullable, l'opérateur ? doit être utilisé. À l’inverse, l’opérateur ! peut être appliqué aux types nullables pour indiquer la non-nullabilité.

Remarques

  • Éviter une utilisation excessive : L'opérateur tolérant les valeurs nulles doit être utilisé avec prudence, car il va à l'encontre de l'objectif de la sécurité nulle.
  • Exceptions d'exécution : l'opérateur ! désactive uniquement les vérifications au niveau du compilateur ; si la valeur est nulle, des exceptions d'exécution peuvent toujours se produire.
  • Cas d'utilisation valides : Malgré ses limites, l'opérateur tolérant les valeurs nulles est utilisé lorsque le compilateur ne peut pas déduire la nullité d'une valeur, lors de la migration d'un code existant ou lors du test du comportement du code lors de la gestion des valeurs nulles. Cela pourrait être utile.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal