由於已經(jīng)熟悉 C#(發(fā)音為 C Sharp 程式語(yǔ)言),我們可以直接了解 C# 中的 Swapping。 「交換」一詞與英語(yǔ)字典的單字有相同的意思。這都是關(guān)於價(jià)值觀的交換。讓我們了解如何使用 C# 來(lái)實(shí)現(xiàn)此技術(shù)。
交換 2 個(gè)數(shù)字
在兩個(gè)不同變數(shù)之間交換值時(shí),我們可以透過(guò)兩種方式來(lái)實(shí)現(xiàn)。第一種方法是使用第三個(gè)變數(shù)(也稱為臨時(shí)變數(shù)),第二種方法是不使用任何其他變數(shù)。
讓我們看看下面如何使用第三個(gè)變數(shù)。
代碼:
using System; class First { static void Main() { int a=75,b=84,t; t=a; a=b; b=t; Console.WriteLine("Values after swapping:"); Console.WriteLine("a is :"+a); Console.WriteLine("b is :"+b); } }
在上面的簡(jiǎn)單程序中,我們採(cǎi)用了兩個(gè)整數(shù)值並使用 3rd 臨時(shí)變數(shù)交換這些值。
輸出:
- 現(xiàn)在讓我們來(lái)看看,如何透過(guò)使用者輸入來(lái)取得變數(shù)的值。
代碼:
using System; class First { static void Main() { string a,b; int temp,c,d; Console.Write("Enter value for a :"); a = Console.ReadLine(); c = Convert.ToInt32(a); Console.WriteLine("A's value is {0}", c); Console.Write("Enter value for b : "); b = Console.ReadLine(); d = Convert.ToInt32(b); Console.WriteLine("B's value is {0}", d); temp=c; c=d; d=temp; Console.WriteLine("Values after swapping are:"); Console.WriteLine("a is : "+c); Console.WriteLine("b is : "+d); } }
在這裡,我們使用 ReadLine 方法來(lái)讀取使用者輸入值。然後我們將該值轉(zhuǎn)換為整數(shù),否則它將讀取為 ASCII 值。
輸出:
嘗試刪除 ToInt32 函數(shù)並檢查程式的行為。
- 現(xiàn)在讓我們看看透過(guò)第二種方法交換兩個(gè)值而不使用第三個(gè)變數(shù):
代碼:
using System; class First { static void Main() { int a=85,b=58; a=a+b; b=a-b; a=a-b; Console.WriteLine("Values after swapping :"); Console.WriteLine("a is "+a); Console.WriteLine("b is "+b); } }
輸出:
與上面相同,作為練習(xí),您可以嘗試使用使用者輸入的值交換兩個(gè)變數(shù)而不使用第三個(gè)變數(shù)嗎?
交換 3 個(gè)數(shù)字
- 成功執(zhí)行2個(gè)號(hào)碼的交換後,現(xiàn)在讓我們繼續(xù)交換3個(gè)號(hào)碼。
代碼:
using System; class First { static void Main() { int a=4,b=5,c=6; //swapping a=a+b+c; Console.WriteLine("After First step A value is "+a); b=a-(b+c); Console.WriteLine("After Second step B value is "+b); c=a-(b+c); Console.WriteLine("After Third step C value is "+c); a=a-(b+c); Console.WriteLine("After Fourth step A value is "+a); Console.WriteLine("Values after swapping are:"); Console.WriteLine("a is "+a); Console.WriteLine("b is "+b); Console.WriteLine("c is "+c); } }
由於我們已經(jīng)了解如何在不使用第三個(gè)變數(shù)的情況下交換數(shù)字的技術(shù),因此我們使用相同的方法來(lái)交換 3 個(gè)數(shù)字。為了清楚起見,我們?cè)诿總€(gè)步驟之後保留了控制臺(tái)輸出語(yǔ)句,並為變數(shù)取了較小的值,以便我們可以更輕鬆地理解正在處理的實(shí)際數(shù)學(xué)計(jì)算。
輸出:
- 現(xiàn)在,我們應(yīng)該嘗試使用使用者輸入的值嗎?
代碼:
using System; clas1s First { static void Main() { string a,b,c; int x,y,z; Console.Write("Enter value for x :"); a = Console.ReadLine(); x = Convert.ToInt32(a); Console.WriteLine("X's value is {0}", x); Console.Write("Enter value for y : "); b = Console.ReadLine(); y = Convert.ToInt32(b); Console.WriteLine("Y's value is {0}", y); Console.Write("Enter value for z : "); c = Console.ReadLine(); z = Convert.ToInt32(c); Console.WriteLine("Z's value is {0}", z); x=x+y+z; Console.WriteLine("After Fourth step X value is "+x); y=x-(y+z); Console.WriteLine("After Second step Y value is "+y); z=x-(y+z); Console.WriteLine("After Third step Z value is "+z); x=x-(y+z); Console.WriteLine("After Fourth step X value is "+x); Console.WriteLine("Values after swapping are:"); Console.WriteLine("X is : "+x); Console.WriteLine("Y is : "+y); Console.WriteLine("Z is : "+z); } }
我們可以在這裡觀察到的一件事是,邏輯總是相同的。我們只是採(cǎi)用動(dòng)態(tài)值而不是硬編碼值來(lái)交換。
輸出:
如您所檢查的,交換過(guò)程發(fā)生如下:
- 將 x 值給予 Y
- 將 y 值賦予 Z
- 將 z 值給予 X
完美吧?那麼,我們可以嘗試用其他方式來(lái)賦值嗎?當(dāng)然可以。
- 非常非常簡(jiǎn)單,我們只需要依序分配 Y 和 Z 值或 Y 值來(lái)求和,然後元素的順序就可以改變了。下面我們就來(lái)看看吧。
代碼:
width="638">using System; class First { static void Main() { string a,b,c; int x,y,z; Console.Write("Enter value for x :"); a = Console.ReadLine(); x = Convert.ToInt32(a); Console.WriteLine("X's value is {0}", x); Console.Write("Enter value for y : "); b = Console.ReadLine(); y = Convert.ToInt32(b); Console.WriteLine("Y's value is {0}", y); Console.Write("Enter value for z : "); c = Console.ReadLine(); z = Convert.ToInt32(c); Console.WriteLine("Z's value is {0}", z); x=x+y+z; Console.WriteLine("After Fourth step X value is "+x); z=x-(y+z); Console.WriteLine("After Second step Z value is "+z); y=x-(y+z); Console.WriteLine("After Third step Y value is "+y); x=x-(y+z); Console.WriteLine("After Fourth step X value is "+x); Console.WriteLine("Values after swapping are:"); Console.WriteLine("X is : "+x); Console.WriteLine("Y is : "+y); Console.WriteLine("Z is : "+z); } }
上述程式之間唯一的差異是突出顯示的部分。
輸出:
如上所述,交換的輸出已變更為:
- 將 x 值賦給 Z
- 將 y 值賦給 X
- 將 z 值賦給 Y
我們可以嘗試用其他不同的方式交換三個(gè)數(shù)字。那麼,作為練習(xí),您可以嘗試使用第四個(gè)臨時(shí)變數(shù)交換 3 個(gè)變數(shù)嗎?
結(jié)論 - C# 中的交換
在這裡,我們使用 C# 程式語(yǔ)言成功地為兩個(gè)變數(shù)和三個(gè)變數(shù)創(chuàng)建了不同的交換技術(shù)。祝學(xué)習(xí) C# 愉快。
以上是C# 中的交換的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

C# 隨機(jī)數(shù)產(chǎn)生器指南。在這裡,我們討論隨機(jī)數(shù)產(chǎn)生器的工作原理、偽隨機(jī)數(shù)和安全數(shù)的概念。

多線程和異步的區(qū)別在於,多線程同時(shí)執(zhí)行多個(gè)線程,而異步在不阻塞當(dāng)前線程的情況下執(zhí)行操作。多線程用於計(jì)算密集型任務(wù),而異步用於用戶交互操作。多線程的優(yōu)勢(shì)是提高計(jì)算性能,異步的優(yōu)勢(shì)是不阻塞 UI 線程。選擇多線程還是異步取決於任務(wù)性質(zhì):計(jì)算密集型任務(wù)使用多線程,與外部資源交互且需要保持 UI 響應(yīng)的任務(wù)使用異步。

C# 質(zhì)數(shù)指南。這裡我們討論c#中素?cái)?shù)的介紹和範(fàn)例以及程式碼實(shí)作。

C#和C 的歷史與演變各有特色,未來(lái)前景也不同。 1.C 由BjarneStroustrup在1983年發(fā)明,旨在將面向?qū)ο缶幊桃隒語(yǔ)言,其演變歷程包括多次標(biāo)準(zhǔn)化,如C 11引入auto關(guān)鍵字和lambda表達(dá)式,C 20引入概念和協(xié)程,未來(lái)將專注於性能和系統(tǒng)級(jí)編程。 2.C#由微軟在2000年發(fā)布,結(jié)合C 和Java的優(yōu)點(diǎn),其演變注重簡(jiǎn)潔性和生產(chǎn)力,如C#2.0引入泛型,C#5.0引入異步編程,未來(lái)將專注於開發(fā)者的生產(chǎn)力和雲(yún)計(jì)算。

可以採(cǎi)用多種方法修改 XML 格式:使用文本編輯器(如 Notepad )進(jìn)行手工編輯;使用在線或桌面 XML 格式化工具(如 XMLbeautifier)進(jìn)行自動(dòng)格式化;使用 XML 轉(zhuǎn)換工具(如 XSLT)定義轉(zhuǎn)換規(guī)則;或者使用編程語(yǔ)言(如 Python)進(jìn)行解析和操作。修改時(shí)需謹(jǐn)慎,並備份原始文件。
