Maison > développement back-end > C++ > Que signifie le point d'interrogation lorsqu'il est utilisé avec des types de valeur en C# ?

Que signifie le point d'interrogation lorsqu'il est utilisé avec des types de valeur en C# ?

Mary-Kate Olsen
Libérer: 2025-01-26 08:56:09
original
193 Les gens l'ont consulté

What Does the Question Mark Mean When Used with Value Types in C#?

Le rôle des points d'interrogation dans les types de valeurs C#

Bien que le point d'interrogation soit généralement utilisé dans les instructions conditionnelles (par exemple, x ? "yes" : "no" ), il a également un objectif différent dans le contexte des types valeur.

Type de valeur nullable

En C#, un point d'interrogation après un type valeur (par exemple, int? myVariable) indique que le type valeur est nullable. Cela signifie qu'il peut représenter non seulement la plage de valeurs standard du type de données sous-jacent, mais également la valeur nulle spéciale.

Par exemple, Nullable peut prendre n'importe quelle valeur entière comprise entre -2 147 483 648 et 2 147 483 647, et peut également se voir attribuer la valeur nulle. Les types nullables sont particulièrement utiles lorsqu'il s'agit de bases de données ou d'autres situations dans lesquelles des données peuvent être manquantes ou non attribuées.

Avantages des types nullables

Les types nullables présentent les avantages suivants :

  • Représentation précise des données inconnues : Ils permettent de représenter correctement les valeurs manquantes ou non attribuées dans les structures de données.
  • Affectation sécurisée des valeurs nulles : Utilisez des types nullables pour garantir que les valeurs nulles sont traitées explicitement, évitant ainsi les erreurs et les plantages.
  • Gestion cohérente des valeurs nulles : Les types nullables fournissent un moyen cohérent de gérer les valeurs nulles, simplifiant ainsi le développement et la maintenance du code.

Exemple d'utilisation

L'extrait de code suivant illustre l'utilisation de valeurs entières nullables :

class NullableExample
{
  static void Main()
  {
    int? num = null;

    if (num.HasValue)
      System.Console.WriteLine("num = " + num.Value);
    else
      System.Console.WriteLine("num = Null");

    int y = num.GetValueOrDefault();

    try
    {
      y = num.Value;
    }
    catch (System.InvalidOperationException e)
    {
      System.Console.WriteLine(e.Message);
    }
  }
}
Copier après la connexion

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 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