在不使用临时变量的情况下交换两个变量 如果
int a=4;
int b=3;
我需要交换这些变量并获得输出 a = 3,b = 4 不使用C#中的另一个变量
答案 0 :(得分:7)
使用 Interlocked.Exchange ()
int a = 4;
int b = 3;
b = Interlocked.Exchange(ref a, b);
来自MSDN:
将32位有符号整数设置为指定值作为原子操作,然后返回原始值
编辑:关于上面的Esoteric精美链接(谢谢),double
甚至还有一个 Interlocked.Exchange ()也可以提供帮助。
答案 1 :(得分:4)
答案 2 :(得分:4)
使用以下概念
int a=4 ;
int b=3 ;
a=a+b ; // a=7
b=a-b ; // b=7-3=4
a=a-b ; // c=7-4=3
答案 3 :(得分:1)
a = a + b;
b = a - b;
a = a - b;
使用任何语言都一样。
答案 4 :(得分:1)
使用加法和减法
a = a + b;
b = a - b;
a = a - b;
使用xor运算符
a = a ^ b;
b = a ^ b;
a = a ^ b;