int a = 3;
int b = 5;
int temp;
Console.WriteLine("交换之前:a= " + a + " b=" + b);
// 第一种方法
temp = a;
a = b;
b = temp;
//优点:这个方法阅读学比较强;缺点:需要申请新的变量内存,效率相对较低
//第二种方法
a = a + b;
b = a - b;
a = a - b;
//优点:阅读性比较强;缺点:可能存在溢出(如果a与b的值相当大,之和超出了int类型的范围)
//第三种方法:
a = a ^ b;
b = a ^ b;
a = a ^ b;
//注意:一个数字异或同一个数字2次等于这个数字本身
//优点:效率高;缺点:阅读性不是很好.
Console.WriteLine("交换之后:" + "a=" + a + "b=" + b);
Console.ReadKey();