int a = 10; int b = 5; a ^= b; b ^= a; a ^= b; Console.WriteLine("{0} {1}", a, b);
2.直接赋值
a = a + b - (b = a);
唯一有溢出风险的a+b那里,并没有将中间值赋给int类型的任何变量,这样溢出风险也就不存在了(亲测可用)。
int a = 10; int b = 5; a ^= b; b ^= a; a ^= b; Console.WriteLine("{0} {1}", a, b);
2.直接赋值
a = a + b - (b = a);
唯一有溢出风险的a+b那里,并没有将中间值赋给int类型的任何变量,这样溢出风险也就不存在了(亲测可用)。