在學(xué)習(xí).Net/C#或者任何一門面向?qū)ο笳Z言的初期,大家都寫過交換兩個(gè)變量值,通常是通過臨時(shí)變量來實(shí)現(xiàn)。本篇使用多種方式實(shí)現(xiàn)兩個(gè)變量值的交換。
假設(shè)int x =1; int y = 2;現(xiàn)在交換兩個(gè)變量的值。
使用臨時(shí)變量實(shí)現(xiàn)
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();}
使用加減法實(shí)現(xiàn)
試想, 1+2=3,我們得到了兩數(shù)相加的結(jié)果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和泛型方法實(shí)現(xiàn)
如果把交換int類型變量值的算法封裝到方法中,需要用到ref關(guān)鍵字。
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:
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注