C#
本教學課程會教導您如何撰寫 C# 程式代碼,以檢查變數,並根據這些變數變更執行路徑。 您可以撰寫 C# 程式代碼,並查看編譯和執行的結果。 本教學課程包含一系列課程,可探索 C# 中的分支和迴圈建構。 這些課程會教您 C# 語言的基本概念。
小提示
當代碼段區塊包含 [執行] 按鈕時,該按鈕會開啟互動式視窗,或取代互動式視窗中的現有程序代碼。 當程式碼片段不包含 [執行] 按鈕時,您可以複製程式代碼並將其加入目前的互動式視窗。
在互動式視窗中執行下列程序代碼。 選擇 執行:
int a = 5;
int b = 6;
if (a + b > 10)
Console.WriteLine("The answer is greater than 10.");
修改 的宣告 b
,讓總和小於 10:
int b = 3;
再次選取 [ 執行] 按鈕。 因為答案小於 10,因此不會列印任何內容。 您測試的 條件 為假。 您沒有任何可以執行的程式碼,因為您只撰寫了 if
語句的其中一個可能分支:真分支。
小提示
當您探索 C# 或任何程式設計語言時,您在撰寫程式代碼時犯了錯誤。 編譯程式 會尋找這些錯誤,並將其回報給您。 當輸出包含錯誤訊息時,請仔細查看範例程式代碼,以及互動式視窗中的程式碼,以查看要修正的專案。 該練習可協助您瞭解 C# 程式代碼的結構。
此第一個範例顯示了 if
的威力以及布爾型別的強大功能。
布林值是可以有兩個值之一的變數:true
或 false
。 C# 會定義布爾變數的特殊類型 bool
。 指令 if
會檢查 bool
的值。 當值為 true
時,執行之後的 if
語句。 否則會被略過。
根據這些條件檢查條件和執行語句的程式非常強大。 讓我們進一步探索。
讓 if 和 else 一起運作
若要在 true 和 false 分支中執行不同的程式碼,您可以建立 else
在條件為 false 時執行的分支。 請嘗試下列程式代碼:
int a = 5;
int b = 3;
if (a + b > 10)
Console.WriteLine("The answer is greater than 10");
else
Console.WriteLine("The answer is not greater than 10");
只有在測試的條件為 false
時,關鍵詞之後else
的 語句才會執行。 結合 if
和 else
與布爾值條件可提供您需要的所有電源。
這很重要
和 else
語句下的if
縮排適用於人類讀者。 C# 語言不會將縮排或空格符視為重要。 或 else
關鍵詞後面的 if
語句會根據條件執行。 本教程中的所有範例都遵循一般做法,根據語句的控制流程縮排行。
因為縮排並不重要,因此您需要使用 {
和 }
來指出何時要讓多個語句成為有條件執行的區塊的一部分。 C# 程式設計人員通常會在所有 和 else
子句上使用if
這些大括弧。 下列範例與您建立的內容相同。 試試看。
int a = 5;
int b = 3;
if (a + b > 10)
{
Console.WriteLine("The answer is greater than 10");
}
else
{
Console.WriteLine("The answer is not greater than 10");
}
小提示
透過本教學課程的其餘部分,程式代碼範例全都包含大括弧,遵循公認的做法。
您可以測試更複雜的條件:
int a = 5;
int b = 3;
int c = 4;
if ((a + b + c > 10) && (a == b))
{
Console.WriteLine("The answer is greater than 10");
Console.WriteLine("And the first number is equal to the second");
}
else
{
Console.WriteLine("The answer is not greater than 10");
Console.WriteLine("Or the first number is not equal to the second");
}
符號 ==
會測試 是否相等。 使用 ==
可區分相等與指派的測試,您在 中看到 a = 5
此測試。
&&
表示 「and」。。 這表示兩個條件都必須成立,才能在 true 分支中執行語句。 這些範例也示範您可以在每個條件分支中有多個 語句,前提是您在 和 }
中括住{
這些語句。
您也可以使用 ||
來表示 「or」:
if ((a + b + c > 10) || (a == b))
變更 a
、b
和 c
的值,並在 &&
和 ||
之間切換以探索。 您將更深入瞭解&&
和||
運算子的運作方式。
使用迴圈來重複操作
建立大型程式的另一個重要概念是 迴圈。 您可以使用循環來重複您想要執行多次的語句。 在互動式視窗中嘗試此程式碼:
int counter = 0;
while (counter < 10)
{
Console.WriteLine($"Hello World! The counter is {counter}");
counter++;
}
語句 while
會檢查條件,並在 之後 while
執行 語句。 它會重複檢查條件並執行這些語句,直到條件為 false 為止。
此範例中有另一個新運算符。
++
變數後面的 counter
是遞增運算符。 它會將 1 新增至計數器的值,並將該值儲存在計數器變數中。
這很重要
請確定循環條件會在您執行程式 while
碼時切換為 false。 否則,您會建立 無限迴圈 ,讓程式永不結束。 讓我們不示範這個,因為執行引擎逾時無法運作,結果您看不到程式的輸出結果。
在執行 while
後的程式碼之前,迴圈會while
先測試條件。
do
... while
循環會先執行程式代碼,然後檢查條件。 看起來像這樣:
int counter = 0;
do
{
Console.WriteLine($"Hello World! The counter is {counter}");
counter++;
} while (counter < 10);
這個 do
迴圈和先前的 while
循環運作相同。
讓我們繼續進入最後一個迴圈語法。
使用 for 迴圈
您在 C# 程式代碼中看到的另一個常見循環語句是 for
迴圈。 在互動式視窗中嘗試此程式碼:
for (int counter = 0; counter < 10; counter++)
{
Console.WriteLine($"Hello World! The counter is {counter}");
}
上述for
循環會執行與迴圈do
和while
您已使用的迴圈相同的工作。 語句 for
有三個部分可控制其運作方式:
- 第一個部分是 初始化表達式的 :
int counter = 0;
宣告為counter
循環變數,並將其初始值設定為0
。 - 中間部分是 迴圈的條件:
counter < 10
宣告只要計數器的值小於 10,此for
迴圈會繼續執行。 - 最後一個部分是 for 迴圈:
counter++
指定如何在執行完for
語句後修改迴圈變數。 在這裡,它會指定counter
每次區塊執行時遞增 1。
自行試驗這些條件。 請嘗試下列每個變更:
- 變更初始化運算式以從不同的值開始。
- 將條件變更為以不同的值停止。
完成時,讓我們繼續撰寫一些程序代碼,以使用您學到的內容。
在本教學課程中,有一個未涵蓋的迴圈語句:foreach
語句。 語句 foreach
會針對專案序列中的每個項目重複其語句。 它最常與 集合搭配使用。 下一個教學課程涵蓋此課程。
已建立巢狀迴圈
while
、do
或for
迴圈可以嵌套在另一個迴圈內,以外部迴圈中每個項目與內部迴圈中每個項目的組合來建立矩陣。 讓我們這樣做來建置一組英數字元組合來表示行和列。
for
循環可以產生資料欄:
for (int row = 1; row < 11; row++)
{
Console.WriteLine($"The row is {row}");
}
另一個循環可以產生資料列:
for (char column = 'a'; column < 'k'; column++)
{
Console.WriteLine($"The column is {column}");
}
您可以將一個迴圈嵌套在另一個迴圈中,以形成嵌套關係:
for (int row = 1; row < 11; row++)
{
for (char column = 'a'; column < 'k'; column++)
{
Console.WriteLine($"The cell is ({row}, {column})");
}
}
您可以看到外部循環會針對內部迴圈的每個完整執行遞增一次。 反轉數據列和數據行巢狀,並自行查看變更。
合併分支和迴圈
既然您已在 C# 語言中看到 if
語句和迴圈建構,請參閱您是否可以撰寫 C# 程式代碼,以尋找 3 到 20 之間可分割之所有整數的總和。 以下是一些提示:
- 運算子
%
會提供除法運算的其餘部分。 - 語句
if
會提供條件來查看數位是否應是總和的一部分。 - 循環
for
可協助您針對所有數位 1 到 20 重複一系列步驟。
親自試試看。 然後檢查您是如何做到的。 作為提示,您應該得到 63 個答案。
你想到類似的東西嗎?
您已完成「分支和迴圈」互動式教學課程。 您可以選取 清單集合 連結以開始下一個互動式教學課程,或者您可以流覽 .NET 網站來下載 .NET SDK、在您的電腦上建立專案,以及繼續撰寫程式代碼。 「後續步驟」一節會帶您回到這些教學課程。
您可以在下列文章深入了解這些概念: