C# - For 循环
C# for 循环 是一种重复控制结构,它按特定次数执行一段代码,而无需多次编写相同的代码。当迭代次数已知时,它尤其有用。
for 循环的语法
以下是 C# 中 for 循环的语法:-
for ( init; condition; increment ) { statement(s); }
for 循环的控制流
以下是 for 循环的控制流 -
首先执行 init 步骤,且仅执行一次。此步骤允许您声明并初始化任何循环控制变量。您无需在此处添加任何语句,只需使用分号即可。
接下来,评估 condition。如果条件为真,则执行循环体。如果条件为假,则不执行循环体,控制流跳转到 for 循环之后的下一个语句。
for 循环体执行完毕后,控制流跳转回 increment 语句。此语句允许您更新任何循环控制变量。此语句可以留空,只要在条件后添加分号即可。
现在再次评估条件。如果条件为真,则执行循环并重复该过程(循环主体,然后递增步骤,然后再次测试条件)。当条件变为假时,for 循环终止。
流程图

for 循环示例
以下是 cSharp 程序中 for 循环的基本示例
using System; namespace Loops { class Program { static void Main(string[] args) { /* for 循环执行 */ for (int a = 10; a < 20; a = a + 1) { Console.WriteLine("value of a: {0}", a); } Console.ReadLine(); } } }
当编译并执行上述代码时,它会产生以下结果 -
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19
另一个示例
在此示例中,我们使用 for 循环来显示偶数 -
using System; namespace Loops { class Program { static void Main(string[] args) { /* for 循环执行 */ for (int a = 10; a < 20; a = a + 1) { if(a%2==0) Console.WriteLine("Even Value: {0}", a); } Console.ReadLine(); } } }
以下是代码的输出 -
Even Value: 10 Even Value: 12 Even Value: 14 Even Value: 16 Even Value: 18
嵌套 for 循环
在 C# 中,for 循环可以嵌套。嵌套 for 循环是指在一个 for 循环内部使用另一个 for 循环。
语法
C# 中嵌套 for 循环的语法如下:
for (initialization; condition; increment) { for (initialization; condition; increment) { // 内层循环体 } // 外层循环体 }
示例
在下面的示例中,我们使用嵌套 for 循环来生成并显示 1 到 5 范围内数字的乘法表:
using System; class Program { static void Main() { for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) { Console.Write(i * j + " "); } Console.WriteLine(); } } }
以下是代码的输出 -
1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 5 10 15 20 25
C# For 循环的用例
1. 迭代数组和列表
for 循环可用于迭代数组或列表中的元素。
int[] numbers = { 1, 2, 3, 4, 5 }; for (int i = 0; i < numbers.Length; i++) { Console.WriteLine(numbers[i]); }
2. 打印模式
for 循环还可用于打印不同类型的模式,或以不同的模式打印数据。
int n = 5; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { Console.Write("* "); } Console.WriteLine(); }
以上代码片段打印了星号的模式。
3. 实现计数器
for 循环可用于在数据处理中计数事件的发生次数。
string str = "hello world"; char target = 'o'; int count = 0; for (int i = 0; i < str.Length; i++) { if (str[i] == target) count++; } Console.WriteLine($"Character '{target}' appears {count} times.");
4. 在数组中搜索
for 循环可用于在数组中搜索元素。
int[] arr = { 10, 20, 30, 40, 50 }; int target = 30; bool found = false; for (int i = 0; i < arr.Length; i++) { if (arr[i] == target) { found = true; Console.WriteLine($"Element {target} found at index {i}"); break; } } if (!found) Console.WriteLine("Element not found.");
5. 生成斐波那契数列
如果要生成斐波那契数列,可以使用 for 循环。
int a = 0, b = 1, c, n = 10; Console.Write($"{a} {b} "); for (int i = 2; i < n; i++) { c = a + b; Console.Write(c + " "); a = b; b = c; }