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
Mary-Kate Olsenoriginal
2025-01-26 08:56:09172parcourir

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 :

<code class="language-csharp">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);
    }
  }
}</code>

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