IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages Discussion :

boxer une variable de type value Nullable


Sujet :

Langages

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    988
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 988
    Par défaut boxer une variable de type value Nullable
    Bonjour,

    Soit le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
     
    int? i1 = null;   // Nullable<int> w/no value
    int? i2 = 42;     // Nullable<int> with a value
     
    / Boxing nullable types
            object o1 = i1;
            object o2 = i2;
    J'apprends que lorsqu'une variable d'un type value nullable est boxée, c'est le type value correspondant qui est stocké dans la variable de type object et non pas le type value Nullable.
    Par ex, si on boxe une variable de type int?, la valeur boxée stockera un int

    Pourquoi dans pour cette instruction
    o1 contient null et non 0, puisque i1 est considéré de type int .Il ne peut donc avoir la valeur null ( valeur par défaut) mais seulement 0 ?

    Merci beaucoup de votre aide sur ce point.

    Bien cordialement.

    new_wave

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 545
    Par défaut
    ton i1 n'est pas encore un entier puisque qu'il a une valeur null, donc o1 est alors null (0 et null ne sont pas la même chose)

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    988
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 988
    Par défaut valeur null et non 0 dans variable de type Object
    ok.

    Même si i1 ne contient pas encore un entier(normalement il contient null) , du fait qu'il est affecté à o1, il a normalement, du fait du boxing, une valeur par défaut qui est 0, puisque c'est un int qui est stocké dans la variable o1.

    C'est çà que je ne comprends pas bien.

    Merci encore de ton aide .

    Bien cordialement.

    new_wave

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 545
    Par défaut
    i1 ne contient pas d'entier, il contient null, i1 n'est pas encore un entier donc o1 non plus (null n'étant pas une valeur de type entier, pourquoi o1 contiendrait 0).

  5. #5
    Membre chevronné
    Homme Profil pro
    Urbaniste
    Inscrit en
    Août 2023
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Août 2023
    Messages : 387
    Par défaut
    Bonjour,

    corrigez moi si je me trompe, mais cela me semble pertinent :

    https://learn.microsoft.com/fr-fr/do...ng-conversions
    Boxing a value of a nullable_value_type produces a null reference if it is the null value (HasValue is false), or the result of unwrapping and boxing the underlying value otherwise.
    Bonne journée.

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/12/2005, 19h08
  2. récupérer la valeur d’une variable de type radio
    Par amelhog dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/08/2005, 09h43
  3. Réponses: 3
    Dernier message: 28/07/2005, 21h30
  4. affecter une variable de type stringstream
    Par sorari dans le forum SL & STL
    Réponses: 3
    Dernier message: 24/03/2005, 11h14
  5. Ajouter a une variable de type string, un entier
    Par Little-Freud dans le forum SL & STL
    Réponses: 12
    Dernier message: 05/03/2005, 19h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo