Maison >développement back-end >C++ >Comment les types nullables en C# gèrent-ils les valeurs manquantes ou non définies ?

Comment les types nullables en C# gèrent-ils les valeurs manquantes ou non définies ?

DDD
DDDoriginal
2025-01-26 09:11:09988parcourir

How Do Nullable Types in C# Handle Missing or Undefined Values?

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!

Déclaration:
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