Übung: Schrittweises Erhöhen und Verringern von Werten
Die letzten grundlegenden Vorgänge, die Sie in diesem Modul kennen lernen, ist das Inkrementieren und Verringern von Werten mithilfe spezieller Operatoren, die Kombinationen von Symbolen sind.
Schrittweises Erhöhen und Verringern
Häufig müssen Sie Werte inkrementieren und/oder verringern, insbesondere wenn Sie Schleifenlogik oder Code schreiben, die mit einer Datenstruktur interagieren.
Der += Operator fügt den Wert auf der rechten Seite des Operators dem Wert auf der linken Seite des Operators hinzu und weist diesen zu. Daher sind die Zeilen zwei und drei im folgenden Codeausschnitt identisch:
int value = 0; // value is now 0.
value = value + 5; // value is now 5.
value += 5; // value is now 10.
Der ++ Operator erhöht den Wert der Variablen um 1. Daher sind die Zeilen zwei und drei im folgenden Codeausschnitt identisch:
int value = 0; // value is now 0.
value = value + 1; // value is now 1.
value++; // value is now 2.
Diese Techniken können für Subtraktion, Multiplikation und mehr verwendet werden. In den folgenden Übungsschritten werden einige hervorgehoben.
Hinweis
Operatoren wie +=, -=, *=, ++und -- werden als zusammengesetzte Zuordnungsoperatoren bezeichnet, da sie einige Vorgänge zusätzlich zum Zuweisen des Ergebnisses zur Variablen zusammengesetzt haben. Der += Operator wird speziell als Additionszuordnungsoperator bezeichnet.
Schreiben von Code zum Inkrementieren und Verringern eines Werts
Wählen Sie den gesamten Code aus, den Sie zuvor im C#-Code-Editor geschrieben haben, und drücken Sie ENTF oder RÜCKTASTE , um ihn zu löschen.
Geben Sie den folgenden Code im C#-Code-Editor ein:
int value = 1; value = value + 1; Console.WriteLine("First increment: " + value); value += 1; Console.WriteLine("Second increment: " + value); value++; Console.WriteLine("Third increment: " + value); value = value - 1; Console.WriteLine("First decrement: " + value); value -= 1; Console.WriteLine("Second decrement: " + value); value--; Console.WriteLine("Third decrement: " + value);Führen Sie den Code aus. Die folgende Ausgabe sollte angezeigt werden:
First increment: 2 Second increment: 3 Third increment: 4 First decrement: 3 Second decrement: 2 Third decrement: 1
Hinweis
Im "zweiten Schritt" haben Sie value += 1; verwendet. Sie könnten jedoch einen beliebigen Literalwert int (oder eine Variable) verwendet haben, um diesen Betrag zu erhöhen. Das Gleiche gilt für die zweite Dekrementoperation value -= 1;.
Platzieren der Inkrement- und Dekrementoperatoren
Die Inkrement- und Dekrementoperatoren weisen eine interessante Eigenschaft auf: Abhängig von ihrer Position führen sie eine Operation vor oder nach dem Abrufen des zugehörigen Werts durch. Anders ausgedrückt: Wenn Sie den Operator vor dem Wert wie in ++valueverwenden, erfolgt die Inkrementierung, bevor der Wert abgerufen wird. Ebenso wird der Wert durch value++ erhöht, nachdem der Wert abgerufen wurde.
Verwenden Sie den Inkrementoperator vor und nach dem Wert.
Löschen Sie den Code aus den vorherigen Schritten, und geben Sie den folgenden Code in den C#-Code-Editor ein:
int value = 1; value++; Console.WriteLine("First: " + value); Console.WriteLine($"Second: {value++}"); Console.WriteLine("Third: " + value); Console.WriteLine("Fourth: " + (++value));Führen Sie den Code aus. Die folgende Ausgabe sollte angezeigt werden:
First: 2 Second: 2 Third: 3 Fourth: 4
Beachten Sie diese Codezeile:
Console.WriteLine($"Second: {value++}");
Es gibt zwei Schritte für diese Zeile:
- Rufen Sie den aktuellen Wert der Variablen
valueab, und verwenden Sie diesen im Zeichenfolgeninterpolationsvorgang. - Erhöhen Sie den Wert.
Die nächste Codezeile bestätigt, dass der Wert tatsächlich erhöht wurde.
Console.WriteLine("Third: " + value);
Betrachten Sie im Gegensatz dazu die letzte Codezeile:
Console.WriteLine("Fourth: " + (++value));
Hier wird die Reihenfolge der Vorgänge gewechselt, da der ++ Operator vor dem Operanden valueplatziert wird.
- Erhöhen Sie den Wert.
- Rufen Sie den neuen inkrementierten Wert der Variablen
valueab, und verwenden Sie ihn im Zeichenfolgenvorgang.
Obwohl nicht unbedingt notwendig, haben Sie Klammern um den Ausdruck (++value) hinzugefügt, um die Lesbarkeit zu verbessern. Wenn mehrere +-Operatoren nebeneinander stehen, besteht die Gefahr, dass es bei anderen Entwicklern zu Missverständnissen kommt. Stilistische Entscheidungen wie dies sind subjektiv. Da Sie den Code jedoch einmal schreiben, aber es mehrmals lesen, sollten Sie die Lesbarkeit priorisieren.
Zusammenfassung
Hier sehen Sie, was Sie bisher über mathematische Operationen in C# gelernt haben:
- Verwenden Sie zusammengesetzte Zuordnungsoperatoren wie
+=,-=,*=,++und--um einen mathematischen Vorgang wie Inkrement oder Dekrement auszuführen, und weisen Sie das Ergebnis dann der ursprünglichen Variablen zu. - Inkrement- und Dekrementoperatoren führen unterschiedliche Operationen aus, wenn der Operator dem Operanden voran- oder nachgestellt ist.