C#流程控制語句簡單描述
本文向大家介紹C#流程控制語句,可能好多人還不了解C#流程控制語句,沒有關系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
C#流程控制語句
在這兩種語言中,C#流程控制語句是非常相似的,但是這一部分也會討論它們的一些細微差別。
1.分支語句
分支語句根據特定的條件改變運行時程序執行的流程。
2.if、else 和 else if
這些在兩種語言中是一樣的。
3.switch 語句
在兩種語言中,switch 語句都提供條件多分支操作。但是有點不同的是,Java 允許您“越過”一個 case 并執行下一個 case,除非您在 case 的末尾使用了 break 語句。然而,C# 需要在每個 case 的末尾都使用 break 或 goto 語句,如果兩者都不存在,則編譯器會產生下列錯誤:
- Control cannot fall through from one case label to another.
不過請注意,在沒有指定要執行的代碼的地方,當 case 匹配時,控制會越過隨后的 case。當在 switch 語句中使用 goto 時,我們只能跳至同一 switch 中的另一個 case 塊。如果我們想要跳至 default case,我們可以使用“goto default;”,否則,我們需要使用“goto case cond;”,其中 cond 是我們希望跳至的 case 的匹配條件。Java 的 switch 語句的另一個不同之處在于,在 Java 中,我們只能對整數類型使用 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 是一個沒有實現的保留關鍵字。然而,我們可以使用帶有 break 或 continue 標簽的語句來達到與 goto 相似的目的。
C# 允許 goto 語句跳至帶有標簽的語句。不過請注意,為了跳至一個特定的標簽,goto 語句必須在該標簽的范圍內。換句話說,goto 不可用來跳進一個語句塊(不過,它可以跳出一個語句塊)、跳出一個類,或退出 try...catch 語句中的 finally 塊。不過請注意,在大多數情況下,我們都不鼓勵您使用 goto,因為它違反了面向對象編程的良好實踐。
5.循環語句
循環語句重復指定的代碼塊,直到滿足給定的條件為止。
1).for 循環
在兩種語言中,for 循環的語法和操作均相同:
- for (initialization; condition; expression)
- statement;
2).foreach 循環
C# 引入了一種新的循環類型,稱為 foreach 循環(類似于 Visual Basic 的 For Each)。foreach 循環允許遍歷支持 IEnumerable 接口的容器類中的每一項(例如:數組)。下面的代碼說明了如何使用 foreach 語句來輸出一個數組的內容:
- 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# 中的數組部分,我們將更詳細地介紹 C# 中的數組。
3).while 和 do...while 循環
在兩種語言中,while 和 do...while 語句的語法和操作均相同:
- while (condition)
- {
- //statements
- }
- //As usual, don't forget the trailing ; in do...while loops:
- do
- {
- //statements
- }
- while(condition);
以上介紹C#流程控制語句。
【編輯推薦】