C# - For 循环

C# for 循环 是一种重复控制结构,它按特定次数执行一段代码,而无需多次编写相同的代码。当迭代次数已知时,它尤其有用。

for 循环的语法

以下是 C# 中 for 循环的语法:-

for ( init; condition; increment ) {
   statement(s);
}

for 循环的控制流

以下是 for 循环的控制流 -

  • 首先执行 init 步骤,且仅执行一次。此步骤允许您声明并初始化任何循环控制变量。您无需在此处添加任何语句,只需使用分号即可。

  • 接下来,评估 condition。如果条件为真,则执行循环体。如果条件为假,则不执行循环体,控制流跳转到 for 循环之后的下一个语句。

  • for 循环体执行完毕后,控制流跳转回 increment 语句。此语句允许您更新任何循环控制变量。此语句可以留空,只要在条件后添加分号即可。

  • 现在再次评估条件。如果条件为真,则执行循环并重复该过程(循环主体,然后递增步骤,然后再次测试条件)。当条件变为假时,for 循环终止。

流程图

C# 中的 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;
}