Logische Operationen (C#)
Wenn eine logische Notwendigkeit Programmierung ständig angezeigt wird, überprüfen Variablenwerte. Die Anzahl der Anwendungen ist sehr vielfältig, so dass zum Beispiel. um zu steuern, das Ereignis auftritt, überprüfen Sie die Verfügbarkeit der Funktion oder bei der Verwaltung der angemeldeten Personen.
Menu wpisu
Die Sprache C# bietet die folgenden logischen Operatoren:
AND (iloczyn logiczny) | x & y |
XOR (suma modulo 2) | x ^ y |
OR (suma logiczna) | x | y |
NOT (negacja) | ! |
Warunkowy AND | x && y |
Warunkowy OR | x || y |
& Operator- und
Unärer Operator für den Betrieb des logischen Produktes verantwortlich. Überprüft die beiden angegebenen Werten und gibt nur true zurück, wenn beide wahr sind.
Wenn (falsch falsch &) { Hier ist der Code, der nicht ausführt } Wenn (true, False &) { Dieser Code auch nicht } Wenn (wahr & wahr) { Dieser Code wird ausgeführt werden }
Der Betreiber überprüft den Vergleich beim Ausführen & beide Argumente, den Code unten Aufrufe der Funktion WykonajFunkcje1 () und die WykonajFunkcje2 ().
Wenn (WykonajFunkcje1:) WykonajFunkcje2 & ()) { Hier ist der Code, der nicht ausführt }
Der Operator kann auch verwendet werden, um eine logische Summe zahlen durchzuführen. Beim Ausführen der Operation, die im folgenden Beispiel gezeigt:
Die Disjunktion zwischen Operation und hexadezimalen Zahlen A9 (1010 1001) und 3D (0011 1101). 1010-1001 0011-1101 // --------- 1001 0010 IE, 29 Konsole. WriteLine ("0 X {0: X}", 0xa9 & 0x3D); Datensatz {0: X} zeigt die Zahl hexadezimal
^ Operator-XOR
Der Operator führt der Betrieb Summe modulo 2 und gibt true zurück, nur, wenn zwei unterschiedliche Werte überprüft: wahr und die andere falsch ist. Im Falle der beiden Werte true oder false gibt false zurück.
Wenn (falsche ^ falsch) { Hier ist der Code, der nicht ausführt } Wenn (wahre ^ wahr) { Dieser Code auch nicht } Wenn (wahre ^ falsch) { Dieser Code wird ausgeführt werden }
Die XOR-Operation kann auf die Zahlen durchgeführt werden. In diesem Fall wird das Ergebnis berechnet, indem die Summe der den modulo 2 von jedem Paar Bits der Daten. Die Berechnung ist unten dargestellt:
Die Operation XOR Hexadezimalzahlen A9 (1010 1001) und 3D (0011 1101). 1010-1001 0011-1101 // --------- 1001-0100 oder 94 Konsole. WriteLine ("0 X {0: X}", 0xa9 ^ 0x3D); Datensatz {0: X} zeigt die Zahl hexadezimal
Der Operator | -OR
Ich arbeite an einer Disjunktion zwischen Betrieb Operator was bedeutet, dass nur eines der Elemente der Wert true, um das Ergebnis der Operation auch den Wert True gehabt hatte. Beide Werte sind geprüft, so der Betreiber bei Funktionen, die ihnen & beide ausgelöst werden.
Wenn (falsche | falsch) { Hier ist der Code, der nicht ausführt } Wenn (wahre | falsch) { Dieser Code wird ausgeführt werden } Wenn (wahre | wahr) { Dieser Code wird auch gemacht werden }
Ich arbeite an einer Disjunktion zwischen-Operator auf die BPC-Zahlen als Werte:
Die Operation XOR Hexadezimalzahlen A9 (1010 1001) und 3D (0011 1101). 1010-1001 0011-1101 // --------- 1101 1011 oder BD Konsole. WriteLine ("0 X {0: X}", 0xa9 | 0x3D); Datensatz {0: X} zeigt die Zahl hexadezimal
Der Operator! -NICHT
Der Betreiber ist für den Typ Bool und Negationen definiert. Im Falle einer wahren gibt False und umgekehrt.
Konsole. WriteLine (! wahr); Zeigt den Wert false Konsole. WriteLine (! falsch); Zeigt den wahren
Der Operator & &-bedingte und
Der Bedingungsoperator und führt die gleiche Operation wie der Operator & durch Hinzufügen einiger Annahme. Das Produkt eines Boolean gilt nur, wenn beide Elemente sind wahr und damit nur, dass einer von ihnen den Wert False hatte, und der gesamte Ausdruck wird false sein. Die Abhängigkeit der bedingten Verwendungen und. Während der Testphase ist das erste Element false, die zweite wird nicht überprüft und der zurückgegebene Wert ist false. Implementierung von Konjuktion so kann die Ausführung der Operation erheblich beschleunigen. Beachten Sie, dass im folgenden Beispiel:
Einer der Werte, die verglichen werden ist falsch Bool warunek1 = False; Bool warunek2 = True warunek3 = True warunek4 = True, warunek5 = True, warunek6 = True; Im folgenden Beispiel wird die warunek1 geprüft, dann warunek2, warunek3, etc.. Wenn (warunek1 & warunek2 & warunek3 & warunek4 & warunek5 & warunek6) Konsole. WriteLine ("0 X {0: X}", 0xa9 | 0x3d); Im Gegensatz dazu ist das folgende Beispiel überprüft die warunek1, heißt der Vorgang nicht abgeschlossen werden und zu diesem Zeitpunkt beendet Wenn (warunek1 && warunek2 & warunek3 && warunek4 && warunek5 &&& warunek6) Konsole. WriteLine ("0 X {0: X}", 0xa9 | 0x3d);
Kenntnisse über den Unterschied zwischen den Betreibern und ist wichtig, &&& wenn gegebene Werte auf die Produktfeatures. Für den Fall, dass der Operator kann nie && annehmen, dass alle Funktionen ausgeführt werden, da bei der Arbeit-Vorgang abgeschlossen werden wird das erste Auftreten der Wert False.
Der Operator || -bedingtes OR
Wie oben beschrieben, ist der Betreiber verwendet hier eine logische Summe-Eigenschaft. Es genügt, dass eines der Elemente den Wert true fest, um den gesamten Ausdruck haben war auch wahr. In diesem Zusammenhang die erste begegnet wahr hält andere Prüfbedingungen und führen Sie den Code zur Verfügung gestellt.
Wie in den arithmetischen Operator modulo && Sie nicht davon ausgehen, dass alle Funktionen überprüft werden, da nach der ersten, die gibt true zurück, wenn die Überprüfung abgeschlossen ist.
Mit verschiedenen Werten. Bool warunek1 = True, warunek2 = False warunek3 = True warunek4 = True, warunek5 = False warunek6 = False; Im folgenden Beispiel wird die warunek1 geprüft, dann warunek2, warunek3, etc.. Wenn (warunek1 | warunek2 | warunek3 | warunek4 | warunek5 | warunek6) Konsole. WriteLine ("0 X {0: X}", 0xa9 | 0x3d); Im Gegensatz dazu ist das folgende Beispiel überprüft die warunek1, heißt der Vorgang ausgeführt werden kann und führt den Code unten Wenn (warunek1 || warunek2 || warunek3 || warunek4 || warunek5 || warunek6) Konsole. WriteLine ("0 X {0: X}", 0xa9 | 0x3d);
Die Reihenfolge der logischen Operationen
Die Reihenfolge der Ausführung der Operation ist streng definiert und von den frühesten Operationen im folgenden dargestellt:
1. Verneinung
2. XOR
3. Konjuktion
4. die Summe der logischen