# C# 循環
有的時候,可能需要多次執行同一塊代碼。一般情況下,語句是順序執行的:函數中的第一個語句先執行,接著是第二個語句,依此類推。
編程語言提供了允許更為復雜的執行路徑的多種控制結構。
循環語句允許我們多次執行一個語句或語句組,下面是大多數編程語言中循環語句的一般形式:

## 循環類型
C# 提供了以下幾種循環類型。點擊鏈接查看每個類型的細節。
| 循環類型 | 描述 |
| --- | --- |
| [while 循環](csharp-while-loop.html "C# 中的 while 循環") | 當給定條件為真時,重復語句或語句組。它會在執行循環主體之前測試條件。 |
| [for 循環](csharp-for-loop.html "C# 中的 for 循環") | 多次執行一個語句序列,簡化管理循環變量的代碼。 |
| [do...while 循環](csharp-do-while-loop.html "C# 中的 do...while 循環") | 除了它是在循環主體結尾測試條件外,其他與 while 語句類似。 |
| [嵌套循環](csharp-nested-loops.html "C# 中的嵌套循環") | 您可以在 while、for 或 do..while 循環內使用一個或多個循環。 |
## 循環控制語句
循環控制語句更改執行的正常序列。當執行離開一個范圍時,所有在該范圍中創建的自動對象都會被銷毀。
C# 提供了下列的控制語句。點擊鏈接查看每個語句的細節。
| 控制語句 | 描述 |
| --- | --- |
| [break 語句](csharp-break-statement.html "C# 中的 break 語句") | 終止 **loop** 或 **switch** 語句,程序流將繼續執行緊接著 loop 或 switch 的下一條語句。 |
| [continue 語句](csharp-continue-statement.html "C# 中的 continue 語句") | 引起循環跳過主體的剩余部分,立即重新開始測試條件。 |
## 無限循環
如果條件永遠不為假,則循環將變成無限循環。**for** 循環在傳統意義上可用于實現無限循環。由于構成循環的三個表達式中任何一個都不是必需的,您可以將某些條件表達式留空來構成一個無限循環。
```
using System;
namespace Loops
{
class Program
{
static void Main(string[] args)
{
for (; ; )
{
Console.WriteLine("Hey! I am Trapped");
}
}
}
}
```
當條件表達式不存在時,它被假設為真。您也可以設置一個初始值和增量表達式,但是一般情況下,程序員偏向于使用 for(;;) 結構來表示一個無限循環。
- C# 基礎
- C# 簡介
- C# 環境
- C# 程序結構
- C# 基本語法
- C# 數據類型
- C# 類型轉換
- C# 變量
- C# 常量
- C# 運算符
- C# 判斷
- C# 循環
- C# 封裝
- C# 方法
- C# 可空類型(Nullable)
- C# 數組(Array)
- C# 字符串(String)
- C# 結構(Struct)
- C# 枚舉(Enum)
- C# 類(Class)
- C# 繼承
- C# 多態性
- C# 運算符重載
- C# 接口(Interface)
- C# 命名空間(Namespace)
- C# 預處理器指令
- C# 正則表達式
- C# 異常處理
- C# 文件的輸入與輸出
- C# 高級
- C# 特性(Attribute)
- C# 反射(Reflection)
- C# 屬性(Property)
- C# 索引器(Indexer)
- C# 委托(Delegate)
- C# 事件(Event)
- C# 集合(Collection)
- C# 泛型(Generic)
- C# 匿名方法
- C# 不安全代碼
- C# 多線程
- ASP.NET 簡介
- Web Pages 教程
- ASP.NET Web Pages - 教程
- ASP.NET Web Pages - 添加 Razor 代碼
- ASP.NET Web Pages - 頁面布局
- ASP.NET Web Pages - 文件夾
- ASP.NET Web Pages - 全局頁面
- ASP.NET Web Pages - HTML 表單
- ASP.NET Web Pages - 對象
- ASP.NET Web Pages - 文件
- ASP.NET Web Pages - 幫助器
- ASP.NET Web Pages - WebGrid 幫助器
- ASP.NET Web Pages - Chart 幫助器
- ASP.NET Web Pages - WebMail 幫助器
- ASP.NET Web Pages - PHP
- ASP.NET Web Pages - 發布網站
- Razor 教程
- ASP.NET Razor - 標記
- ASP.NET Razor - C# 和 VB 代碼語法
- ASP.NET Razor - C# 變量
- ASP.NET Razor - C# 循環和數組
- ASP.NET Razor - C# 邏輯條件
- ASP.NET Razor - VB 變量
- ASP.NET Razor - VB 循環和數組
- ASP.NET Razor - VB 邏輯條件
- MVC 教程
- ASP.NET MVC 教程
- ASP.NET MVC - Internet 應用程序
- ASP.NET MVC - 應用程序文件夾
- ASP.NET MVC - 樣式和布局
- ASP.NET MVC - 控制器
- ASP.NET MVC - 視圖
- ASP.NET MVC - SQL 數據庫
- ASP.NET MVC - 模型
- ASP.NET MVC - 安全
- ASP.NET MVC - HTML 幫助器
- ASP.NET MVC - 發布網站
- Web Forms 教程
- ASP.NET Web Forms - 教程
- ASP.NET Web Forms - HTML 頁面
- ASP.NET Web Forms - 服務器控件
- ASP.NET Web Forms - 事件
- ASP.NET Web Forms - HTML 表單
- ASP.NET Web Forms - 維持 ViewState
- ASP.NET Web Forms - TextBox 控件
- ASP.NET Web Forms - Button 控件
- ASP.NET Web Forms - 數據綁定
- ASP.NET Web Forms - ArrayList 對象
- ASP.NET Web Forms - Hashtable 對象
- ASP.NET Web Forms - SortedList 對象
- ASP.NET Web Forms - XML 文件
- ASP.NET Web Forms - Repeater 控件
- ASP.NET Web Forms - DataList 控件
- ASP.NET Web Forms - 數據庫連接
- ASP.NET Web Forms - 母版頁
- ASP.NET Web Forms - 導航
- Web Pages 參考手冊
- ASP.NET Web Pages - 類
- ASP.NET Web Pages - WebSecurity 對象
- ASP.NET Web Pages - Database 對象
- ASP.NET Web Pages - WebMail 對象
- ASP.NET Web Pages - 更多幫助器
- MVC - 參考手冊
- Web Forms 參考手冊
- ASP.NET Web Forms - HTML 服務器控件
- ASP.NET Web Forms - Web 服務器控件
- ASP.NET Web Forms - Validation 服務器控件
- 免責聲明