none
Type nullable : vous testez .HasValue ou != null ? RRS feed

  • Question

  • Bonjour,

    Lorsque l'on travaille avec des type nullable, testez-vous:

    1)

    int? val = null;
    if( val.HasValue) { ... }

    2)

    int? val = null;
    if( val != null) { ... }
    Sachant que le compilateur, lui retranscrit votre val != null en val.HasValue

     

    Moi je suis partisan pour les types nullable d'utiliser les propriétés des types nullable:

    .HasValue

    .Value

    .GetValueOrDefault

    et ??

    La raison étant que je sais a la lecture du code que je teste un type nullable et pas un objet ou autre chose.

    Et vous, que preferez-vous et pourquoi ?

     

     


    Sinn'
    jeudi 2 décembre 2010 08:38

Réponses

  • Bonjour,

    comme vous le faite remarquer le compilateur remplace les comparaison avec null en val.HasValue, donc cela n'a pas de consèquence.

    Pour ma part il est simplement plus lisible que le même test soit utilisé dans tout le programme.

    Cordialement 

    jeudi 2 décembre 2010 12:50
    Modérateur