zettelkasten/OneNoteExport/Technik/Programieren/VisualStudio/04_Operatoren.md
2023-08-17 19:32:37 +02:00

16 KiB

Operatoren

Freitag, 11. August 2017

11:15

 

Arithmetische Operatoren

Zur nächsten Überschrift

Operator Beschreibung
+

Hat zwei Funktionalitäten:

  • Als Additionsoperator bildet er die Summe zweier Operanden (x + y).

  • Als Vorzeichenoperator beschreibt er eine positive Zahl (+x), ist also ein einstelliger (unärer) Operator.

-

Hat ebenfalls zwei Funktionalitäten:

  • Als Subtraktionsoperator bildet er die Differenz zweier Operanden (x - y).

  • Als unärer Vorzeichenoperator beschreibt er eine negative Zahl (-x).

* Multiplikationsoperator; multipliziert zwei Operanden (x * y).
/ Divisionsoperator; dividiert zwei Operanden (x / y), behält den Nachkommateil der Division.
% Restwertoperator; dividiert zwei Operanden und liefert als Ergebnis den Restwert der Operation (x % y).
++ Erhöht den Inhalt des Operanden um 1. Das Ergebnis der Operation ++x ist der Wert des Operanden nach der Erhöhung. Das Ergebnis der Operation x++ ist der Wert des Operanden vor der Erhöhung.
-- Verringert den Inhalt des Operanden um 1. Das Ergebnis der Operation --x ist der Wert des Operanden nach der Verringerung. Das Ergebnis der Operation x-- ist der Wert des Operanden vor der Verringerung.

 

Aus <http://openbook.rheinwerk-verlag.de/visual_csharp_2012/1997_02_004.html>

Vergleichsoperatoren
Operator Beschreibung
a == b (Vergleichsoperator) prüft, ob der Ausdruck a dem Ausdruck b entspricht, und gibt in diesem Fall true zurück.
a != b Ergebnis der Operation ist true, wenn a ungleich b ist.
a > b Ergebnis der Operation ist true, wenn a größer b ist.
a < b Ergebnis der Operation ist true, wenn a kleiner b ist.
a <= b Ergebnis der Operation ist true, wenn a kleiner oder gleich b ist.
a >= b Ergebnis der Operation ist true, wenn a größer oder gleich b ist.

 

 

Logische Operatoren
Operator Beschreibung
!

Unärer Negationsoperator. Der Ausdruck

!a

ist true, wenn a einen unwahren Wert beschreibt, und false, wenn a wahr ist.

&

(And-Operator, 1. Variante) Der Ausdruck

a & b

ist dann true, wenn sowohl a als auch b true sind. Dabei werden in jedem Fall beide Ausdrücke ausgewertet.

|

(Or-Operator, 1. Variante) Der Ausdruck

a | b

ist true, wenn entweder a oder b wahr ist. Dabei werden in jedem Fall beide Ausdrücke ausgewertet.

^

(Xor-Operator) Der Ausdruck

a ^ b

ist true, wenn die beiden beteiligten Operanden unterschiedliche Wahrheitswerte haben.

&&

(And-Operator, 2. Variante) Der Ausdruck

a && b

ist true, wenn sowohl a als auch b true sind. Zuerst wird a ausgewertet. Sollte a false sein, ist in jedem Fall der Gesamtausdruck unabhängig von b auch falsch. b wird dann nicht mehr ausgewertet.

||

(Or-Operator, 2. Variante) Der Ausdruck

a || b

ist true, wenn entweder a oder b true ist. Zuerst wird a ausgewertet. Sollte a bereits true sein, ist in jedem Fall der Gesamtausdruck unabhängig von b auch wahr. b wird dann nicht mehr ausgewertet.

Bedingung 1 Bedingung 2 And-Operator Or-Operator Xor-Operator
false false false false false
true false false true true
false true false true true
true true true true false
Bitweise Operatoren
Operator Beschreibung
~ Invertiert jedes Bit des Ausdrucks (Einerkomplement).
|

Aus x|y resultiert ein Wert, bei dem die korrespondierenden Bits von x und y

Or-verknüpft werden.

& Aus x&y resultiert ein Wert, bei dem die korrespondierenden Bits von x und y And-verknüpft werden.
^

Aus x^y resultiert ein Wert, bei dem die korrespondierenden Bits von x und y

Xor-verknüpft werden.

<< Aus x<<y resultiert ein Wert, der durch die Verschiebung der Bits des ersten Operanden x um die durch die im zweiten Operanden y angegebene Zahl nach links entsteht.
>> Aus x>>y resultiert ein Wert, der durch die Verschiebung der Bits des ersten Operanden x um die durch die im zweiten Operanden y angegebene Zahl nach rechts entsteht.

 

Aus <http://openbook.rheinwerk-verlag.de/visual_csharp_2012/1997_02_004.html>

 

Zuweisungsoperatoren
Operator Beschreibung
= x = y weist x den Wert von y zu.
+= x += y weist x den Wert von x + y zu.
-= x -= y weist x den Wert von x - y zu.
*= x *= y weist x den Wert von x * y zu.
/= x /= y weist x den Wert von x / y zu.
%= x %= y weist x den Wert von x % y zu.
&= x &= y weist x den Wert von x & y zu.
|= x |= y weist x den Wert von x | y zu.
^= x ^= y weist x den Wert von x ^ y zu.
<<= x <<= y weist x den Wert von x << y zu.
>>= x >>= y weist x den Wert von x >> y zu.

 

Aus <http://openbook.rheinwerk-verlag.de/visual_csharp_2012/1997_02_004.html>

Sonstige Operatoren
Operator Beschreibung
. Der Punktoperator wird für den Zugriff auf die Eigenschaften oder Methoden einer Klasse verwendet, z. B. Console.ReadLine();
[] Der []-Operator wird für Arrays, Indexer und Attribute verwendet, z. B. arr[10]
() Der ()-Operator dient zwei Zwecken: Er gibt die Reihenfolge der Operationen vor und wird auch zur Typkonvertierung eingesetzt.
?: Der ?:-Operator gibt einen von zwei Werten in Abhängigkeit von einem dritten zurück. Er ist eine einfache Variante der if-Bedingungsprüfung.
new Dient zur Instanziierung einer Klasse.
is Prüft den Laufzeittyp eines Objekts mit einem angegebenen Typ.
typeof Ruft das System.Type-Objekt für einen Typ ab.
checked / unchecked Steuert die Reaktion der Laufzeitumgebung bei einem arithmetischen Überlauf.

 

Aus <http://openbook.rheinwerk-verlag.de/visual_csharp_2012/1997_02_004.html>

 

Operator-Vorrangregeln
 
die Operatoren sind so angeordnet, dass die weiter oben stehenden Vorrang vor den weiter unten stehenden haben

 

 

Gruppe Operator
1 x.y (Punktoperator), a[x], x++, x--, new, typeof, checked, unchecked
2 + (unär), - (unär), !, ~, ++x, --x, (<Typ>)x
3 *, /, %
4 + (additiv), - (subtraktiv)
5 <<, >>
6 <, >, <=, >=, is
7 ==, !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?:
14 =, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |=

 

Aus <http://openbook.rheinwerk-verlag.de/visual_csharp_2012/1997_02_004.html>