none
Inkrementierung/Dekrementierung - Postfix/Präfix RRS feed

  • Frage

  • Hi,
    ich bin gerade dabei mir C# beizubringen.Erste kleine Konsolenprogramme sind geschrieben,man kann aber immer noch von Anfänger sprechen :-).

    Ich habe eine Frage zur Logik der Inkrementierung und Dekrementierungsoperation im Zusammenhang mit der Postfix und Präfix Notation.

    Code1:
    bei einem While Konstrukt wirft die Schleife solange true aus bis die die Anweisung nicht mehr korrekt ist

    Bsp:
    int number = 1;
    while(number < 5);
    {
        Console.WriteLine("Dies ist der {0}. Schleifendurchgang", number);
    number = number +1

    // Genau hierbei könnte man auch number++ schreiben um sich so die Langform zu sparen. Ausgabe dann 2 (number 1 + 1 =2)

    Im Folgenden wird mir aber erklärt das die Postfix Notation im folgenden Beispiel 3 ausgibt und im darauf folgenden 4

    Bsp mit Ausgabe 3:
    int x = 0; y = 3;
    x = y++
    Ausgabe = 3

    Bsp mit Ausgabe 4
    x = ++y
    Ausgabe = 4

    Nur heißt doch y++ nichts anderes als number++ also Number/y + 1
    Wieso ergibt die Ausgabe dann im "Bsp mit Ausgabe 3" den Wert 3?
    y/ 3 + 1 = 4 bei mir

    Bei der Präfix Notation "++y" wird dann 4 ausgegeben. Müsste die While Operation dann nicht auch "++number" heißen und nicht "number++" ??

    Ich komme bei der Rechenoperation "y++" nur dann auf 3, wenn ich das zweite "+" als  x=0 interpretiere - ist das  die richtige Interpretation?

    Ich hoffe ich habe nicht allzu wirr geschrieben und jemand kann mir diesen Sachverhalt logisch erklären.

    Für Rückfragen gern Emailaddress = MSNMessenger ;-)
    Montag, 18. Dezember 2006 14:55

Alle Antworten

  • Hallo Chiqo,

    der Unterschied erklärt sich darin, dass bei

        int x = 10;

        Console.WriteLine( "x =  {0}", x++ );   // Ausgabe: x = 10

    die Inkrementierung erst nach der Ausgabe erfolgt

    und bei

        int x = 10;

       Console.WriteLine( "x =  {0}", ++x );   // Ausgabe: x = 11

    erfolgt die Inkrementierung vor der Ausgabe.

    Montag, 25. Dezember 2006 13:45