ตัวอย่างข้างต้น เป็นการเขียนโปรแกรม swap ค่าแบบแปลกๆครับ ไม่ต้องมาสร้างตัวแปร temp อีกแย๊ว
จะนำเสนอ 2 วิธีครับ

วิธีแรก :: การใช้ Operator XOR
ตัวอย่าง code สำหรับ ภาษา C#

1
2
3
4
5
void swap (ref int a, ref int b) {
     a ^= b;
     b ^= a;
     a ^= b;
}

ตัวอย่าง code สำหรับ ภาษา C/C++

1
2
3
4
5
void swap (int &a, int &b) {
     a ^= b;
     b ^= a;
     a ^= b;
}

วิธีที่สอง :: การใช้ Operator +- ค่าเข้าออกจากตัวแปร
ตัวอย่าง code สำหรับ ภาษา C#

1
2
3
4
5
void swap (ref int a, ref int b) {
     b += a;
     a = b − a;
     b −= a;
}

ตัวอย่าง code สำหรับ ภาษา C/C++

1
2
3
4
5
void swap (int &a, int &b) {
     b += a;
     a = b − a;
     b −= a;
}