在學習.Net/C#或者任何一門面向對象語言的初期,大家都寫過交換兩個變量值,通常是通過臨時變量來實現。本篇使用多種方式實現兩個變量值的交換。
假設int x =1; int y = 2;現在交換兩個變量的值。
使用臨時變量實現
static void Main(string[] args){int x = 1;int y = 2;Console.WriteLine("x={0},y={1}",x, y);int temp = x;x = y;y = temp;Console.WriteLine("x={0},y={1}", x, y);Console.ReadKey();}
使用加減法實現
試想, 1+2=3,我們得到了兩數相加的結果3。3-2=1,把1賦值給y,y就等于1; 3-1=2,把2賦值給x,這就完成了交換。
static void Main(string[] args){int x = 1;int y = 2;Console.WriteLine("x={0},y={1}",x, y);x = x + y; //x = 3y = x - y; //y = 1x = x - y; //x = 2Console.WriteLine("x={0},y={1}", x, y);Console.ReadKey();}
使用ref和泛型方法實現
如果把交換int類型變量值的算法封裝到方法中,需要用到ref關鍵字。
static void Main(string[] args){int x = 1;int y = 2;Console.WriteLine("x={0},y={1}",x, y);Swap(ref x, ref y);Console.WriteLine("x={0},y={1}", x, y);Console.ReadKey();}<PRe style="font-size: 10px; font-family: consolas,'Courier New',courier,monospace; width:
新聞熱點
疑難解答