Types nullables (C#)

Guide de référence du programmeur C# 
Types nullables (guide de programmation C#) 

Les types nullables sont des instances du struct System.Nullable. Un type nullable peut représenter la plage normale de valeurs pour son type valeur sous-jacent, plus une valeur null supplémentaire. Par exemple, un Nullable<Int32>, prononcez « Nullable d'Int32 », peut avoir une valeur comprise entre -2147483648 et 2147483647, ou la valeur null. Vous pouvez assigner à un Nullable<bool> les valeurs true ou false, ou null. La possibilité d'assigner null à des types numériques et booléens est particulièrement utile lorsque vous utilisez des bases de données et d'autres types de données contenant des éléments auxquels vous ne pouvez pas assigner de valeur. Par exemple, un champ booléen dans une base de données peut stocker les valeurs true ou false, ou peut être indéfini.



C#
class NullableExample
{
    static void Main()
    {
        int? num = null;
        if (num.HasValue == true)
        {
            System.Console.WriteLine("num = " + num.Value);
        }
        else
        {
            System.Console.WriteLine("num = Null");
        }

        //y is set to zero
        int y = num.GetValueOrDefault();

        // num.Value throws an InvalidOperationException if num.HasValue is false
        try
        {
            y = num.Value;
        }
        catch (System.InvalidOperationException e)
        {
            System.Console.WriteLine(e.Message);
        }
    }
}

Les éléments précités afficheront la sortie suivant :

num = Null

Nullable object must have a value.

Vue d'ensemble des types nullables

Les types nullables ont les caractéristiques suivantes :

  • Les types nullables représentent des variables de type de valeur auxquelles vous pouvez assigner la valeur null. Vous ne pouvez pas créer de type nullable sur la base d'un type référence. (Les types référence prennent déjà en charge la valeur null.)

  • La syntaxe T? est le format abrégé pour System.Nullable<T>, où T est un type valeur. Les deux formats sont interchangeables.

  • Assignez une valeur à un type nullable comme pour un type valeur ordinaire, par exemple int? x = 10; ou double? d = 4.108;

  • Utilisez la propriété System.Nullable.GetValueOrDefault pour retourner ou la valeur assignée, ou la valeur par défaut pour le type sous-jacent si la valeur est null, par exemple int j = x.GetValueOrDefault();

  • Utilisez les propriétés en lecture seule HasValue et Value pour rechercher une valeur nulle et la récupérer, par exemple if(x.HasValue) j = x.Value;

    • La propriété HasValue retourne true si la variable contient une valeur, ou false si elle est nulle.

    • La propriété Value retourne une valeur si une valeur est assignée, sinon une System.InvalidOperationException est levée.

    • La valeur par défaut pour une variable de type nullable définit HasValue à false. Value est indéfini.

  • Utilisez l'opérateur ?? pour assigner une valeur par défaut qui sera appliquée lorsqu'un type nullable dont la valeur actuelle est nulle est assigné à un type non nullable, par exemple int? x = null; int y = x ?? -1;

  • Les types nullables imbriqués ne sont pas autorisés. La ligne suivante ne sera pas compilée : Nullable<Nullable<int>> n;

Rubriques connexes

Spécification du langage C#

Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.

  • 24 types nullables

Voir aussi


Ces informations proviennent du site de http://msdn2.microsoft.com
Source de cette page : http://msdn2.microsoft.com/fr-fr/library/1t3y8s4s.aspx

Avertissement : Erreurs sur le site de l'infobrol

Sommaire du document

La base de données est temporairement indisponible

Le site rencontre momentanément quelques problèmes...

La base de données est temporairement indisponible (), ce qui explique que de nombreuses fonctions ne soient temporairement pas accessibles (par exemple les liens de navigation, les sommaires, etc.) et que l'affichage des pages soit beaucoup plus lent.

Veuillez réessayer dans quelques minutes (les tests automatiques sont effectués toutes les 15 minutes).

Je vous présente mes excuses pour le désagrément que cela engendre.

Steph.

 

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-7244
Document créé le 01/01/70 &am12Thu, 01 Jan 1970 00:00:00 +0000amvUTC; 00:00, dernière modification le Vendredi 17 Juin 2011, 10:11
Source du document imprimé : http://www.gaudry.be/ Document affiché 0 fois ce mois de Mai.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (afficher)

La gestion des membres est momentanement desactivee pour des raisons de maintenance.

Navigation (masquer)
Apparence (afficher)
Stats (afficher)
867 documents
astuces.
niouzes.
definitions.
membres.
2290 messages.

Document genere en :
0,23 seconde
Citation (masquer)
 
l'infobrol
Nous sommes le Mercredi 30 Mai 2012, 22:29, toutes les heures sont au format GMTs