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

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;
            }

 

posted @ 2018-10-09 13:56  饮雪俊枫  阅读(391)  评论(0编辑  收藏  举报