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(VS.80).aspx

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.

 

Nuage de mots clés

4 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

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-7189
Document créé le 08/11/06 03:56, dernière modification le Vendredi 17 Juin 2011, 12:11
Source du document imprimé : http://www.gaudry.be/dotnet-rf-1t3y8s4s(VS.80).html Document affiché 4 fois ce mois de Mai.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
1,31 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Aimer, c'est ne plus comparer.

Bernard Grasset [Extrait de Remarques sur l'action]
 
l'infobrol
Nous sommes le Jeudi 31 Mai 2012, 00:28, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)