C# 循环
多次执行同一块代码。
编程语言提供了允许更为复杂的执行路径的多种控制结构。
循环语句允许多次执行一个语句或语句组,下面是大多数编程语言中循环语句的一般形式:

循环类型
C# 几种循环类型。
| 循环类型 | 描述 |
|---|---|
| while 循环 | 条件为真时,重复语句或语句组。执行循环主体之前测试条件 |
| for/foreach 循环 | 多次执行一个语句序列,简化管理循环变量的代码 |
| do...while 循环 | 在循环主体结尾测试条件,其他与 while 语句类似 |
| 嵌套循环 | while、for 或 do..while 循环内使用一个或多个循环 |
循环控制语句
循环控制语句更改执行的正常序列。当执行离开一个范围时,所有在该范围中创建的自动对象都会被销毁。
C# 控制语句
| 控制语句 | 描述 |
|---|---|
| break 语句 | 终止 loop 或 switch 语句,程序流将继续执行紧接着 loop 或 switch 的下一条语句 |
| continue 语句 | 引起循环跳过主体的剩余部分,立即重新开始测试条件 |
无限循环
如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,可以将某些条件表达式留空来构成一个无限循环。
实例
using System;
namespace Loops
{
class Program
{
static void Main(string[] args)
{
for (; ; )
{
Console.WriteLine("Hey! I am Trapped");
}
}
}
}
namespace Loops
{
class Program
{
static void Main(string[] args)
{
for (; ; )
{
Console.WriteLine("Hey! I am Trapped");
}
}
}
}
当条件表达式不存在时,它被假设为真。可以设置一个初始值和增量表达式,一般情况下,程序员偏向于使用 for(;;) 结构来表示一个无限循环

文人墨客
同上,斐波那契数列的计算。
using System; namespace HelloWorldApplication { class HelloWorld { static int k = 140;// 输出斐波那契数列数量(测试上限为:140) 可更改 decimal[] si = new decimal[k]; //存储计算值以节省时间 decimal fib(int a){ //方法 if(a <= 1) return a; if(si[a] != 0) return si[a]; return si[a] = fib(a-1)+fib(a-2); } static void Main(string[] args) { HelloWorld c = new HelloWorld(); for(int n = k-1;n >= 0;n--){ //倒序输出 Console.WriteLine(c.fib(n));//调用方法fib } Console.ReadKey(); } } }文人墨客
using System; namespace ConsoleApplication { class Fibonacci { static void Main(string[] args) { //打印出斐波那契数列的前50项 double[] feiBos = new double[50]; feiBos[0] = 1; feiBos[1] = 1; for (int i = 2; i < 50; i++) { feiBos[i] = feiBos[i - 1] + feiBos[i - 2]; } // String.Join(分隔符, 需要打印的数组) Console.WriteLine("feiBo = [" + String.Join(",", feiBos) + "]"); Console.WriteLine("feiBo数组的长度是{0}", feiBos.Length); } } }文人墨客
本篇文章没有案例,下面我给出一个循环配合数组的案例,供大家参考。
难的地方有注释。
大家也可以把案例复制到自己的VS文档里面去试验。
斐波那契数列。
using System; class 测试 { static void Main(string[] args) { int N = 50; //由于数字太大,我只能用计算金融的decimal来作为类型 decimal[] feiBo = new decimal[N]; //定义数组 feiBo[0] = 1; //C#数组从0开始!!!! feiBo[1] = 1; //定义了前两项 //while 循环,计算数组斐波那契数列的每一项 int x = 2; while (x <= N - 1) { feiBo[x] = feiBo[x - 1] + feiBo[x - 2]; x++; } //foreach遍历数组,具体用法请百度,这里不再赘述。 foreach (decimal i in feiBo) { Console.WriteLine(i); } Console.ReadKey(); } }