c#是否参入中间变量交换变量的几种方法
生活随笔
收集整理的這篇文章主要介紹了
c#是否参入中间变量交换变量的几种方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
大家很熟悉知道,交換變量經(jīng)常的使用的一種方法是使用第三個變量,也符合正常人的思維邏輯,但是還有其他的一些方法來實現(xiàn),但是有點“偏門”,記住就好了。下面就列舉這幾種方法。
第一種方法,會用到參數(shù)的方法再來修稿。
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第二種方法,用到數(shù)軸上點到點之間的距離的使用,num2-num1;以下圖示通過普通的加減運算來實現(xiàn);
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,被賦值的變量值已經(jīng)變成了距離,另一變量沒有變。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了。 格式和數(shù)軸類似,只要把+ -號全變成^就實現(xiàn)。
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,被賦值的變量值已經(jīng)變成了距離,另一變量沒有變。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查看大神博客,自己細節(jié)把握。
?
轉(zhuǎn)載于:https://www.cnblogs.com/leee/p/4135852.html
總結(jié)
以上是生活随笔為你收集整理的c#是否参入中间变量交换变量的几种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 坦克300透明隐形盖加强筋要放到哪个位置
- 下一篇: c# char unsigned_dll