14 Stimmen

OR, AND Operator

Frage eines Neulings. Wie berechnet man den Wert der Formel A f B, wobei f - die binäre Funktion OR oder AND ist?

23voto

Martin Randall Punkte 717

Es gibt einen Unterschied zwischen den bedingten Operatoren && und || und den booleschen Operatoren & und |. Hauptsächlich handelt es sich um einen Unterschied in der Vorrangigkeit (welche Operatoren zuerst ausgewertet werden) und außerdem sind && und || "escaping". Das bedeutet, dass eine Sequenz wie...

cond1 && cond2 && cond3

Wenn cond1 falsch ist, werden weder cond2 noch cond3 ausgewertet, da der Code zu Recht davon ausgeht, dass der Ausdruck unabhängig von ihrem Wert nicht wahr sein kann. Ähnlich...

cond1 || cond2 || cond3

Wenn cond1 wahr ist, werden weder cond2 noch cond3 ausgewertet, da der Ausdruck unabhängig von ihrem Wert wahr sein muss.

Die bitweisen Gegenstücke & und | sind nicht escaping.

Ich hoffe, das hilft.

18voto

ThiefMaster Punkte 297146

Logisches OR ist || ist das logische UND && . Wenn Sie die Negation NOT benötigen, stellen Sie Ihrem Ausdruck das Zeichen ! .

Exemple :

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

Dann ist X wahr, wenn entweder A und B wahr sind oder wenn C wahr ist oder wenn D nicht wahr ist (d. h. falsch).

Wenn Sie ein bitweises AND/OR/NOT wünschen, würden Sie Folgendes verwenden & , | et ~ . Wenn Sie jedoch mit booleschen/Wahrheitswerten arbeiten, sollten Sie diese nicht verwenden. Sie bieten keine Kurzschlussauswertung, z. B. aufgrund der Art und Weise, wie eine bitweise Operation funktioniert.

2voto

Younes Punkte 4745
if(A == "haha" && B == "hihi") {
//hahahihi?
}

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

0voto

Paul Michaels Punkte 15147

Ich bin mir nicht sicher, ob das Ihre Frage beantwortet, aber ein Beispiel:

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

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

0voto

Ben Punkte 3091

Verwenden Sie z. B. '&&' für AND und '||' für OR:

bool A;
bool B;

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X