Ausführen mathematischer Vorgänge
Tip
Weitere Details finden Sie auf der Registerkarte "Text und Bilder ".
Im Kern sind Computer unglaublich schnelle Rechner. C# unterstützt alle standardmäßigen mathematischen Vorgänge, die Sie erwarten, sodass Sie Berechnungen ausführen und die Ergebnisse in Variablen speichern können.
Arithmetische operatoren
C# verwendet Standardsymbole für einfache Mathematik:
| Bediener | Action | Example | Result |
|---|---|---|---|
+ |
Addition | 10 + 3 |
13 |
- |
Subtraction | 10 - 3 |
7 |
* |
Multiplication | 10 * 3 |
30 |
/ |
Division | 10 / 3 |
3 (ganzzahlige Division) |
% |
Modulo (Rest) | 10 % 3 |
1 |
Sie können versuchen, diesen Code selbst im C#-Code-Editor auszuführen.
Grundlegendes zu Modulus (%)
Der Modulusoperator % gibt alles zurück, was nach der Division übrig bleibt. Es ist hilfreich, zu überprüfen, ob eine Zahl gleichmäßig dividiert:
Console.WriteLine(10 % 2); // Output: 0 (10 is even)
Console.WriteLine(11 % 2); // Output: 1 (11 is odd)
Reihenfolge der Vorgänge
C# folgt einer standardmäßigen mathematischen Reihenfolge von Vorgängen (PEMDAS): Klammern, dann Multiplikation/Division, dann Addition/Subtraktion. Verwenden Sie Klammern, um die Reihenfolge zu steuern:
int standard = 2 + 3 * 4; // Multiplication first: 14
int forced = (2 + 3) * 4; // Parentheses first: 20
Zusammengesetzte Zuweisungsoperatoren
Ein häufiges Muster besteht darin, eine Variable unter Verwendung ihres eigenen Werts zu aktualisieren – etwa indem man eine Punktzahl erhöht oder einen Kontostand verringert. C# verfügt über Kurzhandoperatoren für folgendes:
int score = 50;
score = score + 10; // Standard way: score is 60
score += 10; // Shorthand: score is 70
Die gleiche Kurzform funktioniert für andere Vorgänge:
| Bediener | Bedeutung | Example | Ergebnis (beginnend bei 10) |
|---|---|---|---|
+= |
Addition und Zuweisung | x += 5 |
15 |
-= |
Subtraktion und Zuweisung | x -= 5 |
5 |
*= |
Multiplikation und Zuweisung | x *= 5 |
50 |
/= |
Teilen und zuweisen | x /= 5 |
2 |
Inkrementoperator und Dekrementoperator
Für das Hinzufügen oder Subtrahieren 1hat C# noch kürzere Operatoren –++ und --:
int count = 5;
count++; // Same as count = count + 1
Console.WriteLine(count); // Output: 6
count--; // Same as count = count - 1
Console.WriteLine(count); // Output: 5
Die Position ist entscheidend: Präinkrement vs. Postinkrement
Die Operatoren ++ und -- verhalten sich unterschiedlich, je nachdem, ob sie vor oder nach der Variablen stehen:
-
Post-Inkrement (
value++): Verwendet zuerst den aktuellen Wert und erhöht ihn anschließend -
Präinkrement (
++value): Inkrementiert zuerst, dann wird der neue Wert verwendet.
int a = 5;
Console.WriteLine(a++); // Output: 5 (uses old value, then increments)
Console.WriteLine(a); // Output: 6 (a was incremented)
int b = 5;
Console.WriteLine(++b); // Output: 6 (increments first, then uses new value)
Console.WriteLine(b); // Output: 6
Die gleichen Regeln gelten für -- (Dekrementierung).
Division von Ganzzahlen vs. Dezimalzahlen
Bei der Division zweier ganzer Zahlen schneidet C# den Dezimalanteil ab (lässt ihn weg).
int result = 7 / 2;
Console.WriteLine(result); // Output: 3 (not 3.5)
Um das Dezimalzeichen beizubehalten, muss mindestens eine der Zahlen ein Dezimaltyp sein:
decimal result = 7m / 2m;
Console.WriteLine(result); // Output: 3.5
Aus diesem Grund ist die Auswahl des richtigen Datentyps für Ihre Berechnungen von Bedeutung. Im nächsten Abschnitt erfahren Sie, wie Sie bei Bedarf zwischen Typen konvertieren.