Maison >développement back-end >C++ >Comment les types nullables en C# gèrent-ils les valeurs manquantes ou non définies ?
Types nullables C# : un guide complet
Les types nullables de C# fournissent un mécanisme puissant pour gérer les valeurs potentiellement manquantes ou non définies, en particulier lorsqu'il s'agit de données provenant de sources externes telles que des bases de données. Le point d'interrogation (?
) ajouté à un type valeur (par exemple, int?
) signifie un type nullable, lui permettant de contenir soit une valeur valide, soit null
. Cette fonctionnalité est fournie par la structure System.Nullable
.
Exemple illustratif :
Considérons une propriété entière nullable :
<code class="language-csharp">public int? myProperty { get; set; }</code>
myProperty
peut désormais stocker n'importe quel entier dans sa plage normale (-2 147 483 648 à 2 147 483 647) ou une valeur null
, représentant l'absence d'un entier défini.
Avantages des types nullables :
Les types nullables sont inestimables lorsqu'il s'agit de situations dans lesquelles les données peuvent être incomplètes. Par exemple, les champs de la base de données peuvent contenir des entrées manquantes. L'utilisation de types nullables permet une représentation précise de ces données manquantes, évitant ainsi les erreurs potentielles causées par l'hypothèse d'une valeur par défaut alors qu'il n'en existe pas.
Propriétés et méthodes clés :
Les types nullables offrent plusieurs membres utiles :
HasValue
: Une propriété booléenne indiquant si une valeur a été attribuée (true
) ou si le type est null
(false
).GetValueOrDefault()
: Renvoie la valeur attribuée si disponible ; sinon, il renvoie la valeur par défaut du type sous-jacent (par exemple, 0 pour int?
).Value
: Fournit un accès direct à la valeur sous-jacente. Cependant, tenter d'accéder à Value
lorsque le type nullable est null
lancera un InvalidOperationException
.Application pratique :
L'extrait de code suivant illustre l'utilisation de types nullables :
<code class="language-csharp">int? num = null; if (num.HasValue) { Console.WriteLine("num = " + num.Value); } else { Console.WriteLine("num is null"); }</code>
Ce code vérifie en toute sécurité null
avant de tenter d'accéder à la valeur, empêchant ainsi les exceptions d'exécution. En utilisant efficacement la propriété HasValue
, les développeurs peuvent écrire un code plus robuste et plus fiable. Comprendre et utiliser les types nullables en C# améliore considérablement les capacités de traitement des données.
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!