Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

Postfix Operators ใน C# คืออะไร

Postfix Increment/Decrement (++, -- หลังตัวแปร) คืนค่าเดิมก่อน แล้วค่อยเพิ่ม/ลด

พฤติกรรม

int a = 10;
int b = a++;  // b = 10, a = 11 (คืนค่าเก่า แล้วค่อย ++)

int x = 10;
int y = x--;  // y = 10, x = 9 (คืนค่าเก่า แล้วค่อย --)

โค้ดตัวอย่าง

using System;

class Program
{
    static void Main()
    {
        int a, b;
        a = 10;
        
        Console.WriteLine(a++); // แสดง 10 (ค่าเก่า)
        b = a;                  // b = 11 (a เพิ่มแล้ว)
        Console.WriteLine(a);   // 11
        Console.WriteLine(b);   // 11
    }
}

ผลลัพธ์

10
11
11

Prefix vs Postfix

Operatorชื่อลำดับการทำงานตัวอย่าง
++aPrefix Incrementเพิ่มก่อน → คืนค่าใหม่a=10; b=++a → a=11, b=11
a++Postfix Incrementคืนค่าเก่า → เพิ่มหลังa=10; b=a++ → a=11, b=10
--aPrefix Decrementลดก่อน → คืนค่าใหม่a=10; b=--a → a=9, b=9
a--Postfix Decrementคืนค่าเก่า → ลดหลังa=10; b=a-- → a=9, b=10

Best Practice

หลีกเลี่ยงใช้ใน Expression ซับซ้อน เพราะอ่านยากและ Bug-prone แยกเป็น Statement แยกบรรทัดดีกว่า