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

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封装方法spa

            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;
            }
相关文章
相关标签/搜索