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

ASP.NET Discussion :

point d'interrogation derriere une classe


Sujet :

ASP.NET

  1. #1
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut point d'interrogation derriere une classe
    Bonjour,

    j'ai recupéré un bout de code avec cette structure là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     protected DateTime? DBNulltest(object testval) 
        { 
            if (!(System.Convert.IsDBNull(testval)))
            { return (DateTime?)testval; } 
            else 
            { return null; } 
        }
    Qu'est ce que ca veut dire le point d'exclamation derriere la classe DateTime ?

  2. #2
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    alors en fait le type Datetime comme int ne prennent pas "null" comme valeur.

    Or si tu veux pouvoir leur affecter cette valeur il faut que tu declares ton type avec le ?

    int? compteur = ...
    pourra soit etre un entier soit avoir la valeur null.

  3. #3
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Le point d'exclamation représente une objet nullable..

    Ex : int? représente un int qui peut valoir null.

    On peut faire par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int i;
     
    if(i == null)
    {...}
    En fait, ce qu'il se passe, c'est que le int est encapsulé dans une structure qui composée de la valeur du type (donc, ici, un int) et d'une variable signalant si la valeur a été initialisée ou non.

    en gros, dans ton cas, cela te permet de comparer ce que tu retourne ta méthode à null, ce qui ne pourrait pas être fait en temps normal, car DateTime est du type valeur.

    [Edit : Grilled !! ]

  4. #4
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Merci pour vos deux réponses, elles étaient complémentaires Pongten

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Redirection 301 d'une page avec point d'interrogation
    Par Romalafrite dans le forum Apache
    Réponses: 3
    Dernier message: 11/07/2012, 21h08
  2. Réponses: 0
    Dernier message: 07/10/2011, 11h43
  3. Réponses: 3
    Dernier message: 02/03/2010, 08h16
  4. correction d'une classe point.
    Par deubelte dans le forum C++
    Réponses: 12
    Dernier message: 20/05/2007, 18h16

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