c#是否参入中间变量交换变量的几种方法 -ag凯发k8国际
ag凯发k8国际
收集整理的这篇文章主要介绍了
c#是否参入中间变量交换变量的几种方法
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
大家很熟悉知道,交换变量经常的使用的一种方法是使用第三个变量,也符合正常人的思维逻辑,但是还有其他的一些方法来实现,但是有点“偏门”,记住就好了。下面就列举这几种方法。
第一种方法,会用到参数的方法再来修稿。
1 using system; 2 namespace exercise 3 { 4 class program 5 { 6 private static void main(string[] args) 7 { 8 int num1 = 10; 9 int num2 = 5; 10 int temp = num1; 11 num1 = num2; 12 num2 = temp; 13 console.writeline("num1={0},num2={1}",num1,num2); 14 console.readkey(); 15 } 16 } 17 } view code第二种方法,用到数轴上点到点之间的距离的使用,num2-num1;以下图示通过普通的加减运算来实现;
1 using system; 2 namespace consoleapplication1 3 { 4 class program 5 { 6 static void main(string[] args) 7 { 8 int num1 =3; 9 int num2 = 7; 10 num1 = num2 - num1;//算出距离 并赋值给num1,被赋值的变量值已经变成了距离,另一变量没有变。num1被赋值成距离。 num1=4,num2=7 11 num2 = num2 - num1;//num2减去距离,就等于num1;此时num1还没有交换成num2;完成“num2”的交换成num1。num1=4 num2=3 12 num1 = num2 num1;//被赋值成的num1值的num2加上距离再赋值成num1,完成num1的被交换成。num1=7,num2= 3 13 console.writeline("num1={0},num2={1}", num1, num2); 14 console.readkey(); 15 } 16 } 17 } view code第三种方法,是位运算,异或,理解:先异或存num1点的话,第二步必须求num2,第三步剩下num1了。 格式和数轴类似,只要把 -号全变成^就实现。
1 using system; 2 namespace consoleapplication1 3 { 4 class program 5 { 6 static void main(string[] args) 7 { 8 int num1 =3; 9 int num2 = 7; 10 num1 = num2 ^ num1;//算出距离 并赋值给num1,被赋值的变量值已经变成了距离,另一变量没有变。num1被赋值成距离。 num1=4,num2=7 11 num2 = num2 ^ num1;//num2减去距离,就等于num1;此时num1还没有交换成num2;完成“num2”的交换成num1。num1=4 num2=3 12 num1 = num2 ^ num1;//被赋值成的num1值的num2加上距离再赋值成num1,完成num1的被交换成。num1=7,num2= 3 13 console.writeline("num1={0},num2={1}", num1, num2); 14 console.readkey(); 15 } 16 } 17 } view code查看大神博客,自己细节把握。
转载于:https://www.cnblogs.com/leee/p/4135852.html
总结
以上是ag凯发k8国际为你收集整理的c#是否参入中间变量交换变量的几种方法的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: