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

C# Discussion :

Comparaison d'un objet float


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 71
    Points : 57
    Points
    57
    Par défaut Comparaison d'un objet float
    Bonjour,

    J'ai une variable object. Dans le debugger le type affiché est object {float}.

    Cette valeur peut contenir float.MaxValue soit 3.40282347E+38.

    Je voudrais pouvoir tester cette valeur. J'ai essayé le code ci-dessous mais sans succès.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     mavar==(object)float.MaxValue
    Le seul code qui fonctionne c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     mavar.ToString()==float.MaxValue.ToString()
    Merci

  2. #2
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    pourquoi ne pas faire l'inverse !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     if ((float)mavar==float.MaxValue)
    {
    //
    }

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Points : 359
    Points
    359
    Par défaut
    Je pense que le mieux serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    mavar==(object)float.MaxValue
    if(float.MaxValue.Equals(mavar))
    {
     ....
    }

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Points : 359
    Points
    359
    Par défaut
    Mais le boxing unboxing est une chose qui coute très cher dans une application. Il vaut mieux éviter de le faire

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par morgand Voir le message
    Mais le boxing unboxing est une chose qui coute très cher dans une application. Il vaut mieux éviter de le faire
    Oui, mais, pour l'éviter il faudrait savori pourquoi la valeur initiale est stockée en "object" ici.

    Et si le boxing/unboxing est couteux en perf, la comparaison via la méthode String l'est au moins autant dans le cas exposé ici.

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par morgand Voir le message
    Je pense que le mieux serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    mavar==(object)float.MaxValue
    if(float.MaxValue.Equals(mavar))
    {
     ....
    }
    Qu'apporte de plus cette solution ? (vs celle de azstar).

  7. #7
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    Je pense que on est obligé de faire un cast que se soit de object vers float ou bien de float vers object.
    sauf si on a sait pourquoi il a stocke un float dans un object

    Merci à Bluedeep de ne donner un peu de son savoir (pourquoi le cast est couteux )!!!

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 71
    Points : 57
    Points
    57
    Par défaut
    J'ai retenu la solution de morgand

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(float.MaxValue.Equals(mavar))
    Merci à tous

  9. #9
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Points : 359
    Points
    359
    Par défaut
    Heureux que tu ai trouvé ta solution

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/01/2012, 20h28
  2. Comparaison entre un objet et sa classe
    Par Diablange dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 25/11/2010, 19h29
  3. Comparaison de 2 objets
    Par sandrine49 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 26/09/2008, 18h41
  4. Réponses: 5
    Dernier message: 27/10/2007, 11h11
  5. [VB.NET] Comparaison d'un objet
    Par basnifo dans le forum VB.NET
    Réponses: 3
    Dernier message: 30/11/2006, 18h47

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