C#流程控制語句簡單描述
本文向大家介紹C#流程控制語句,可能好多人還不了解C#流程控制語句,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
C#流程控制語句
在這兩種語言中,C#流程控制語句是非常相似的,但是這一部分也會討論它們的一些細(xì)微差別。
1.分支語句
分支語句根據(jù)特定的條件改變運(yùn)行時(shí)程序執(zhí)行的流程。
2.if、else 和 else if
這些在兩種語言中是一樣的。
3.switch 語句
在兩種語言中,switch 語句都提供條件多分支操作。但是有點(diǎn)不同的是,Java 允許您“越過”一個 case 并執(zhí)行下一個 case,除非您在 case 的末尾使用了 break 語句。然而,C# 需要在每個 case 的末尾都使用 break 或 goto 語句,如果兩者都不存在,則編譯器會產(chǎn)生下列錯誤:
- Control cannot fall through from one case label to another.
不過請注意,在沒有指定要執(zhí)行的代碼的地方,當(dāng) case 匹配時(shí),控制會越過隨后的 case。當(dāng)在 switch 語句中使用 goto 時(shí),我們只能跳至同一 switch 中的另一個 case 塊。如果我們想要跳至 default case,我們可以使用“goto default;”,否則,我們需要使用“goto case cond;”,其中 cond 是我們希望跳至的 case 的匹配條件。Java 的 switch 語句的另一個不同之處在于,在 Java 中,我們只能對整數(shù)類型使用 switch 語句,而 C# 允許我們對字符串變量使用 switch 語句。
例如,下面的程序在 C# 中是合法的,但在 Java 中卻是不合法的:
- switch (args[0])
- {
- case "copy":
- ...
- break;
- case "move":
- ...
- goto case "delete";
- break;
- case "del":
- case "remove":
- case "delete":
- ...
- break;
- default:
- ...
- break;
- }
4.goto 的返回
在 Java 中,goto 是一個沒有實(shí)現(xiàn)的保留關(guān)鍵字。然而,我們可以使用帶有 break 或 continue 標(biāo)簽的語句來達(dá)到與 goto 相似的目的。
C# 允許 goto 語句跳至帶有標(biāo)簽的語句。不過請注意,為了跳至一個特定的標(biāo)簽,goto 語句必須在該標(biāo)簽的范圍內(nèi)。換句話說,goto 不可用來跳進(jìn)一個語句塊(不過,它可以跳出一個語句塊)、跳出一個類,或退出 try...catch 語句中的 finally 塊。不過請注意,在大多數(shù)情況下,我們都不鼓勵您使用 goto,因?yàn)樗`反了面向?qū)ο缶幊痰牧己脤?shí)踐。
5.循環(huán)語句
循環(huán)語句重復(fù)指定的代碼塊,直到滿足給定的條件為止。
1).for 循環(huán)
在兩種語言中,for 循環(huán)的語法和操作均相同:
- for (initialization; condition; expression)
- statement;
2).foreach 循環(huán)
C# 引入了一種新的循環(huán)類型,稱為 foreach 循環(huán)(類似于 Visual Basic 的 For Each)。foreach 循環(huán)允許遍歷支持 IEnumerable 接口的容器類中的每一項(xiàng)(例如:數(shù)組)。下面的代碼說明了如何使用 foreach 語句來輸出一個數(shù)組的內(nèi)容:
- public static void Main()
- {
- int[] arr1= new int[] {1,2,3,4,5,6};
- foreach ( int i in arr1)
- {
- Console.WriteLine("Value is {0}", i);
- }
- }
在 C# 中的數(shù)組部分,我們將更詳細(xì)地介紹 C# 中的數(shù)組。
3).while 和 do...while 循環(huán)
在兩種語言中,while 和 do...while 語句的語法和操作均相同:
- while (condition)
- {
- //statements
- }
- //As usual, don't forget the trailing ; in do...while loops:
- do
- {
- //statements
- }
- while(condition);
以上介紹C#流程控制語句。
【編輯推薦】