___ answer437047 ___
Es geschieht nicht, außer es ist in einem Ausdruck, d. h.
%Vor%
unterscheidet sich von:
%Vor%
Die erste weist 1 x zu, da die Zuweisung vor dem Inkrement erfolgt.
Die zweite weist 2 x zu, weil die Zuweisung nach dem Inkrement erfolgt.
___ qstntxt ___
Mir fällt es schwer zu verstehen, was der Unterschied zwischen dem Inkrementieren einer Variablen in C # ist:
%Vor%
und
%Vor%
Wann würde es je darauf ankommen, welche Sie verwenden?
Ich gebe voteCount ++ für die beste Antwort. Oder sollte ich es geben ++ voteCount ...
___ answer437058 ___
Andere haben gezeigt, wo es einen Unterschied macht, und haben festgestellt, dass es als eine einzige Aussage keinen Unterschied macht.
Ich möchte hinzufügen, dass es fast immer eine schlechte Idee ist, es dort einzusetzen, wo es einen Unterschied macht. Ich vermute, dass kann manchmal sein, wo es besser lesbar ist, Code zu haben wie:
%Vor%
als:
%Vor%
... aber sie sind sehr selten! Die letztere der beiden Proben macht die Ordnung sofort klar - die erstere erfordert ein wenig Nachdenken (jedenfalls zu meinem armen Gehirn). Denken Sie zuerst an die Lesbarkeit.
___ antwort437035 ___
Bei der Zuweisung oder den Ausdrücken, zum Beispiel
%Vor%
Dies kann auch in Ausdrücken wie for-Schleifen oder if-Anweisungen verwendet werden. Nehmen Sie zum Beispiel die folgende Vorgehensweise, wenn Suche 0 und Zählung 3 ist.
%Vor%
ergibt die Ausgaben von 1, 2 und 3 für die Suche und die folgenden
%Vor%
Ergebnisse in 1 und 2 für die Suche. Also erhöht ++ myInt myInt, bevor sein Wert ausgewertet wird, wobei myInt ++ nach der Auswertung inkrementiert wird.
___ answer437036 ___
Es gibt keinen Unterschied, wenn es einzeln geschrieben wird (wie gezeigt) - in beiden Fällen wird myInt um 1 erhöht.
Aber es gibt einen Unterschied, wenn Sie es in einem Ausdruck verwenden, z. etwas wie das:
%Vor%
Im ersten Fall wird myInt erhöht und der neue / inkrementierte Wert an MyFunction () übergeben. Im zweiten Fall wird der alte Wert von myInt an MyFunction () übergeben (aber myInt wird immer noch inkrementiert, bevor die Funktion aufgerufen wird).
Ein anderes Beispiel ist das:
%Vor%
BTW: Wie Don in einem Kommentar darauf hingewiesen hat, gelten die gleichen Regeln auch für Dekrement-Operationen, und die Die korrekte Terminologie für diese Operationen lautet:
%Vor%
Als Jon Skeet weist darauf hin:
Andere haben gezeigt, wo es a macht
Unterschied, und habe das als kommentiert
eine einzige Aussage macht es nicht
Unterschied.
Ich möchte hinzufügen, dass es fast ist
immer eine schlechte Idee, es dort zu verwenden
macht einen Unterschied. Ich vermute es
kann manchmal sein, wo es mehr ist
lesbar für Code wie:
%Vor%
als:
%Vor%
... aber sie sind sehr selten! Das
Letztere dieser beiden Proben macht die
sofort kristallklar bestellen -
Ersteres erfordert ein wenig Nachdenken
(jedenfalls zu meinem armen Gehirn). Denk an
die Lesbarkeit zuerst.
___ antwort437123 ___
myInt ++ (4 CPU-Anweisungen)
%Vor%
++ myInt (3 CPU-Anweisungen)
%Vor%
___ answer437038 ___
Es ist ein Unterschied, wenn Sie
machen
%Vor%
aber wenn Sie
tun
%Vor%
___ answer437046 ___
Er bestimmt, wann das Ergebnis für diese Operation zurückgegeben wird.
Hier ist ein Beispiel aus der MSDN-Site :
%Vor%
Und die Ausgabe:
%Vor%
___ answer437052 ___
Der pre-fix-Operator ++ myInt ist eine Möglichkeit, Zeilen zu reduzieren: Erhöhen Sie die Variable, bevor Sie sie an eine andere Stelle übergeben. Es ist auch eine gute Möglichkeit, die Lesbarkeit zu reduzieren, da es ungewöhnlich ist.
%Vor%
vs.
%Vor%
Für mich ist das zweite viel einfacher zu lesen.
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert.
___ tag123syntax ___ Syntax bezieht sich auf die eigentlichen Sprachelemente und Symbole selbst. Fragen sollten als Syntax gekennzeichnet werden, wenn sich die Frage spezifisch und fast vollständig auf die Syntax bezieht. Dieses Tag sollte mit einem bestimmten Sprach-Tag verwendet werden
___ answer437063 ___
++ myInt fügt eine Zeile zu myInt hinzu, bevor die entsprechende Zeile ausgeführt wird, myInt ++ erledigt dies anschließend.
Beispiele:
%Vor%
___ answer437044 ___
Wenn Sie zum Beispiel so etwas tun:
%Vor%
Dies wird 6 ausdrucken.
%Vor%
gibt 5 aus;
Grundsätzlich verwendet ++ myInt Inkrement FIRST verwendet die Variable SECOND.
myInt ++ ist das Gegenteil.
___ antwort437135 ___
Ich denke, es ist am einfachsten, die Reihenfolge der Evaluierung und Modifikation zu verstehen.
- Der Postfix-Operator (x ++)
wertet zuerst und ändert zuletzt.
- Der Präfixoperator (++ x) ändert
zuerst und wertet zuletzt aus.
(die Reihenfolge der Operationen ist in der getippten Reihenfolge des Operators und der Variablen ersichtlich)
i.e. Wenn er in einem Ausdruck verwendet wird, wertet der Postfix-Operator den aktuellen Wert der Variablen aus und verwendet ihn im Ausdruck (eine Rückgabeanweisung oder einen Methodenaufruf), bevor er den Operator anwendet. Mit dem Präfix-Operator ist es umgekehrt.
___ qstnhdr ___ In C # Was ist der Unterschied zwischen myInt ++ und ++ myInt?
___