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 :

or et and emboité


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 45
    Par défaut or et and emboité
    Bonjour, je voudrais coder ceci :

    SI [ (A<B) OR ( A>=B AND C<D) ]

    je propose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     if (A < B || A >= B && C < D)
    Mais je ne sais pas du tout si il faut des parenthèses pour bien lire les opérations dans le bon ordre... Ca n'a pas l'air de fonctionner pour l'instant...

    Je vous remercie

  2. #2
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Met des parenthèses, ça bouffe pas de foin et ça rend lisible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (A<B) || ((A>=B) && (C<D))

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 45
    Par défaut
    D'accord.

    Si cette syntaxe est correcte, c'est que mon problème vient d'ailleurs, merci !

  4. #4
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Bonjour,

    Juste une petite note, à propos des opérators | et || ainsi que & et &&.
    Dans le cas des opérateurs "simples" ( | et & ) il y a évaluation des deux opérandes puis disjonction/conjonction logique.
    Dans le cas des opérateurs "doubles" ( || et && ) il y une évaluation "cour-circuitante" des opérandes (désolé de l'expression ) des exemples sont plus parlants:

    (true | (false & true))
    on évalue la parenthèse intérieure, faux ET vrai donne faux, puis on évalue la parenthèse extérieure vrai OU faux(le résultat intermédiaire calculé) donne donc vrai.

    (true || (false && true)) donnera également true mais pas de la même manière, les opérandes sont évalués "dans l'ordre" on évalue le premier il vaut vrai donc le résultat du OU ne pourra qu'être vrai on court-circuite donc l'évaluation et donne le résultat immédiatement.

    (false || (false && true)) même principe, on évalue le premier opérande, il vaut faux, il faut donc continuer, on évalue donc le deuxième (le contenu de la parenthèse donc) on rentre donc dedans, on évalue ce premier opérande il vaut faux donc le résultat du ET ne peut qu'être faux on court-cuircuite et donc le résultat et faux.

    Toutes ces explications pas très claires pour dire que l'expression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (A<B) || ((A>=B) && (C<D))
    est exactement similaire à
    en effet si A est strictement inférieur à B on renverra Vrai sans évaluer le reste, si ce n'est pas le cas A est forcément supérieur ou égal à B (donc pas besoin de l'évaluer) il ne reste qu'à déterminer si C est strictement inférieur à D.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 45
    Par défaut
    Merci pour ces précisions, qui vont effectivement alléger mon code... merci encore a tous !

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

Discussions similaires

  1. Drag and drop "de l'extérieur"
    Par Invité dans le forum C++Builder
    Réponses: 12
    Dernier message: 31/03/2020, 10h10
  2. [Look and feel] Texte des JLabels en gras
    Par aliasjcdenton dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 26/01/2006, 11h49
  3. mise en page (Header and Footer) en XML-XSL.
    Par christine dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/03/2004, 16h31
  4. SQL :select et AND
    Par Shabata dans le forum Langage SQL
    Réponses: 5
    Dernier message: 20/05/2003, 13h39
  5. Fip, modbus and co...
    Par xave dans le forum Développement
    Réponses: 2
    Dernier message: 24/05/2002, 13h25

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