不用临时的变量 交换两个数的两种方法

1.异或算法(这种方法不借助第三个变量,也不会产生溢出,比较安全,但仅限整数类型)

int a = 10;
int b = 5;
a ^= b;
b ^= a;
a ^= b;
Console.WriteLine("{0}  {1}", a, b);

2.直接求差值

int a=10;
int b=5;
a = a + b;
b = a - b;
a = a - b;

3.利用ref封装方法

            int a = 10;
            int b = 20;

            Swap(ref a, ref b);

            Console.WriteLine(a);
            Console.WriteLine(b);
            Console.ReadKey();

            private static void Swap(ref int n1,ref int n2)
            {
                int tmp = n1;
                n1 = n2;
                n2 = tmp;
            }
原文地址:https://www.cnblogs.com/yinxuejunfeng/p/9759876.html