8
votes

C # Question d'opération logique

pourquoi ceci est vrai: xxx

et ceci est faux: xxx

dans mon esprit devrait être l'oposite ..


4 commentaires

| et & sont également définis pour les bools également) - Utilisez || et && Pour les opérations logiques, y compris la curculition courte.


C'est la raison pour laquelle j'aime toujours explicitement des bretelles dans de telles situations ;-)


@Delnan: Terminologie Nitpick: | et & sont définis pour les types intégraux et pour BOOL. Pour des types intégrés, ils sont des opérateurs bitwises; Pour Bool, ce sont des opérateurs logiques sans court-circuit.


@Martinho: Eh bien, en supposant que la définition true = 1 et false = 0 , tant fonctionne;) mais pointe prise.


3 Réponses :


15
votes

Ils se lient comme suit:

(true | false) && false  // false


5 commentaires

Bon sang, tous les deux étaient plus rapides. Oui, c'est 7.2.1.


Aussi: ma règle de mail: n'apprends jamais la table de prime ; Utilisez des crochets à la place. Sauvez votre cerveau pour des trucs qui compte.


C'est 7.3.1 dans la spécification C # 4 :)


Oui, il est conseillé d'utiliser des crochets pour que votre code soit plus facile à lire.


D'Oh! J'ai vérifié 1.1 et 3.0 - soupir



3
votes

Ceci est à cause de la précédente opérateur ici < / a>


0 commentaires