134 lines
2.0 KiB
Markdown
134 lines
2.0 KiB
Markdown
|
---
|
|||
|
title: For Loop
|
|||
|
localeTitle: 对于循环
|
|||
|
---
# 对于循环
|
|||
|
|
|||
|
for循环重复执行代码块,直到指定的条件表达式求值为false。
|
|||
|
|
|||
|
for循环剖析:
|
|||
|
```
|
|||
|
for (initialization; condition; iterator)
|
|||
|
{
|
|||
|
body
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
* 初始化 - 初始化语句设置初始条件,并在进入循环体之前仅运行一次。
|
|||
|
* condition - 布尔表达式,用于确定循环体是应该再次执行还是循环应该退出。
|
|||
|
* iterator - 在循环体的每次迭代后执行。
|
|||
|
|
|||
|
### 例1
|
|||
|
```
|
|||
|
for (int i = 0; i < 5; i++)
|
|||
|
{
|
|||
|
Console.WriteLine("Number " + i);
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### 输出:
|
|||
|
```
|
|||
|
> Number 0
|
|||
|
> Number 1
|
|||
|
> Number 2
|
|||
|
> Number 3
|
|||
|
> Number 4
|
|||
|
```
|
|||
|
|
|||
|
### 例2
|
|||
|
```
|
|||
|
int j = 0;
|
|||
|
for (int i = 0; j < 5; i++)
|
|||
|
{
|
|||
|
Console.WriteLine("Numbers {0} {1}", i, j);
|
|||
|
j++;
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### 输出:
|
|||
|
```
|
|||
|
> Numbers 0 0
|
|||
|
> Numbers 1 1
|
|||
|
> Numbers 2 2
|
|||
|
> Numbers 3 3
|
|||
|
> Numbers 4 4
|
|||
|
```
|
|||
|
|
|||
|
### 实施例3-实施例2的简化
|
|||
|
```
|
|||
|
for (int i = 0, j = 0; i < 5 && j < 5; i++, j++)
|
|||
|
{
|
|||
|
Console.WriteLine("Numbers {0} {1}", i, j);
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### 输出:
|
|||
|
```
|
|||
|
> Numbers 0 0
|
|||
|
> Numbers 1 1
|
|||
|
> Numbers 2 2
|
|||
|
> Numbers 3 3
|
|||
|
> Numbers 4 4
|
|||
|
```
|
|||
|
|
|||
|
### 例4
|
|||
|
```
|
|||
|
for (int i = 5; i > 0; i--)
|
|||
|
{
|
|||
|
Console.WriteLine("Number " + i);
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### 输出:
|
|||
|
```
|
|||
|
> Number 5
|
|||
|
> Number 4
|
|||
|
> Number 3
|
|||
|
> Number 2
|
|||
|
> Number 1
|
|||
|
```
|
|||
|
|
|||
|
### 例5
|
|||
|
```
|
|||
|
// Infinite loop - The loop body is executed infinitely
|
|||
|
for (; ;)
|
|||
|
{
|
|||
|
Console.WriteLine("The universe is infinite");
|
|||
|
}
|
|||
|
|
|||
|
// Anything after infinite loop is reported as "Unreachable code detected" in Visual Studio
|
|||
|
Console.WriteLine("Never considered for execution");
|
|||
|
```
|
|||
|
|
|||
|
### 输出:
|
|||
|
```
|
|||
|
> The universe is infinite
|
|||
|
> The universe is infinite
|
|||
|
> The universe is infinite
|
|||
|
> ....
|
|||
|
> ....
|
|||
|
```
|
|||
|
|
|||
|
### 例6
|
|||
|
```
|
|||
|
int i = 0;
|
|||
|
for (; i < 5;)
|
|||
|
{
|
|||
|
Console.WriteLine("Number " + i);
|
|||
|
i++;
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### 输出:
|
|||
|
```
|
|||
|
> Number 0
|
|||
|
> Number 1
|
|||
|
> Number 2
|
|||
|
> Number 3
|
|||
|
> Number 4
|
|||
|
```
|
|||
|
|
|||
|
### 其他资源
|
|||
|
|
|||
|
* [Microsoft文档](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/for)
|
|||
|
|
|||
|
## 结束
|