Ausführen mathematischer Vorgänge

Abgeschlossen

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.