web-dev-qa-db-fra.com

OU, et opérateur

Question de débutant .. Comment calculer la valeur de la formule A f B, où f - la fonction binaire OR ou AND?

10
Alexry

Il existe une distinction entre les opérateurs conditionnels && et || et les opérateurs booléens & et |. Il s’agit principalement d’une différence de précédence (quels opérateurs sont évalués en premier) ainsi que de && et || sont en train de "s'échapper". Cela signifie que c'est une séquence telle que ...

cond1 && cond2 && cond3

Si cond1 est false, ni cond2 ni cond3 ne sont évalués car le code suppose à juste titre que quelle que soit leur valeur, l'expression ne peut être vraie. Également...

cond1 || cond2 || cond3

Si cond1 est true, ni cond2 ni cond3 ne sont évalués car l'expression doit être vraie quelle que soit leur valeur.

Les contreparties au niveau des bits, & et | ne s'échappent pas.

J'espère que cela pourra aider.

21
Martin Randall

Logique OR est ||, logique AND est &&. Si vous avez besoin de la négation NON, préfixez votre expression avec !.

Exemple:

X = (A && B) || C || !D;

Alors, X sera vrai lorsque A et B sont vrais ou si C est vrai ou si D n'est pas vrai (c'est-à-dire faux).

Si vous vouliez utiliser AND/OR/NOT au niveau des bits, vous utiliseriez &, | et ~. Mais si vous avez affaire à des valeurs booléennes/vérité, vous ne voulez pas les utiliser. Ils ne fournissent pas d'évaluation de court-circuit par exemple en raison du fonctionnement d'une opération au niveau des bits.

15
ThiefMaster

Si ce qui vous intéresse, ce sont les opérations au niveau des bits, cherchez ici un bref tutoriel: http://weblogs.asp.net/alessandro/archive/2007/10/02/bitwise-operators-in-c-or-xor- et- amp-amp-not.aspx .bitwise effectue les mêmes opérations que celles décrites ci-dessus, mais ne fonctionne qu'avec une représentation binaire (l'opération s'applique à chaque bit individuel de la valeur)

Si vous voulez une opération logique, des réponses sont déjà données. 

0
Olorin
if(A == "haha" && B == "hihi") {
//hahahihi?
}

if(A == "haha" || B != "hihi") {
//hahahihi!?
}
0
Younes

Je ne sais pas si cela répond à votre question, mais par exemple:

if (A || B)
{
    Console.WriteLine("Or");
}

if (A && B)
{
    Console.WriteLine("And");
}
0
Paul Michaels

Utilisez '&&' pour AND et utilisez '||' pour OR, par exemple:

bool A;
bool B;

bool resultOfAnd = A && B; // Returns the result of an AND
bool resultOfOr = A || B; // Returns the result of an OR
0
Ben