C#与FLASH'AS差不多.它可以不借助中间变量,一句代码进行交换
using System;
namespace study
{
class Program
{
static void Main(string[] args)
{
int a = 2, b = 5;
//方法一
b = a + (a = b) * 0;
//方法二
//b = a + (a = b) - a;
//方法三
//b = a + (a = b) - b;
//方法四
//a ^= b ^ (b ^= a ^ b);
Console.WriteLine("{0},{1}", a ,b);
Console.ReadLine();
}
}
}
VB中的方法
Sub a() '方法一
Dim a%, b%
a = -2: b = 5
a = a Xor b: b = b Xor a: a = b Xor a
MsgBox a & " " & b
End Sub
Sub b() '方法二
Dim a%, b%
a = -2: b = 5
a = a + b: b = a - b: a = a - b
MsgBox a & " " & b
End Sub
Sub c() '方法三
Dim a%, b%
a = -2: b = 5
a = a * b: b = a / b: a = a / b
MsgBox a & " " & b
End Sub
Sub d() '方法四 借助中间变量
Dim a%, b%, c%
a = -2: b = 5
c = a: a = b: b = c
MsgBox a & " " & b
End Sub