跳转到内容

C Sharp 循环

来自代码酷
Admin留言 | 贡献2025年4月29日 (二) 18:38的版本 (Page creation by admin bot)

(差异) ←上一版本 | 已核准修订 (差异) | 最后版本 (差异) | 下一版本→ (差异)

C#循环[编辑 | 编辑源代码]

循环是C#编程中控制程序流程的重要结构,它允许开发者重复执行一段代码多次,直到满足特定条件为止。循环在数据处理、算法实现、游戏开发等领域广泛应用。C#提供了多种循环结构,包括for循环while循环do-while循环foreach循环,每种循环适用于不同的场景。

循环类型[编辑 | 编辑源代码]

for循环[编辑 | 编辑源代码]

for循环是最常用的循环结构之一,适用于已知循环次数的情况。其语法如下:

for (初始化; 条件; 迭代)
{
    // 循环体
}

示例:

for (int i = 0; i < 5; i++)
{
    Console.WriteLine($"当前循环次数: {i}");
}

输出:

当前循环次数: 0
当前循环次数: 1
当前循环次数: 2
当前循环次数: 3
当前循环次数: 4

解释:

  • 初始化部分(int i = 0)在循环开始时执行一次。
  • 条件部分(i < 5)在每次循环前检查,如果为true,则执行循环体。
  • 迭代部分(i++)在每次循环结束后执行。

while循环[编辑 | 编辑源代码]

while循环在条件为true时重复执行代码块,适用于循环次数未知的情况。

while (条件)
{
    // 循环体
}

示例:

int count = 0;
while (count < 3)
{
    Console.WriteLine($"计数: {count}");
    count++;
}

输出:

计数: 0
计数: 1
计数: 2

解释:

  • 只要count < 3true,循环就会继续执行。
  • 如果条件一开始就为false,循环体不会执行。

do-while循环[编辑 | 编辑源代码]

do-while循环与while循环类似,但至少执行一次循环体,再检查条件。

do
{
    // 循环体
} while (条件);

示例:

int num = 5;
do
{
    Console.WriteLine($"数字: {num}");
    num--;
} while (num > 0);

输出:

数字: 5
数字: 4
数字: 3
数字: 2
数字: 1

解释:

  • 即使num初始值为0,循环体也会执行一次。

foreach循环[编辑 | 编辑源代码]

foreach循环用于遍历集合或数组中的元素,无需手动管理索引。

foreach (var item in 集合)
{
    // 循环体
}

示例:

string[] colors = { "红色", "绿色", "蓝色" };
foreach (string color in colors)
{
    Console.WriteLine($"颜色: {color}");
}

输出:

颜色: 红色
颜色: 绿色
颜色: 蓝色

解释:

  • foreach自动迭代集合中的每个元素,适合处理数组、列表等数据结构。

循环控制语句[编辑 | 编辑源代码]

C#提供了两个关键控制语句来管理循环流程:

  • break:立即终止循环。
  • continue:跳过当前迭代,进入下一次循环。

示例:

for (int i = 0; i < 10; i++)
{
    if (i == 5) break; // 当i=5时退出循环
    if (i % 2 == 0) continue; // 跳过偶数
    Console.WriteLine($"奇数: {i}");
}

输出:

奇数: 1
奇数: 3

实际应用案例[编辑 | 编辑源代码]

计算阶乘[编辑 | 编辑源代码]

使用for循环计算一个数的阶乘:

int number = 5;
int factorial = 1;
for (int i = 1; i <= number; i++)
{
    factorial *= i;
}
Console.WriteLine($"{number}的阶乘是: {factorial}");

输出:

5的阶乘是: 120

遍历字典[编辑 | 编辑源代码]

使用foreach循环遍历字典:

Dictionary<string, int> ages = new Dictionary<string, int>
{
    { "Alice", 25 },
    { "Bob", 30 }
};
foreach (var pair in ages)
{
    Console.WriteLine($"{pair.Key}的年龄是{pair.Value}岁");
}

输出:

Alice的年龄是25岁
Bob的年龄是30岁

循环性能优化[编辑 | 编辑源代码]

  • 减少循环内的计算:将不变量移到循环外。
  • 使用for代替foreach(在需要高性能时)。
  • 避免嵌套过深的循环。

循环流程图[编辑 | 编辑源代码]

graph TD A[开始循环] --> B{条件检查} B -- true --> C[执行循环体] C --> D[迭代] D --> B B -- false --> E[结束循环]

数学公式[编辑 | 编辑源代码]

循环的迭代次数可以用数学公式表示。例如,for (int i = a; i < b; i += c)的迭代次数为: bac

总结[编辑 | 编辑源代码]

C#提供了多种循环结构,每种适用于不同的场景:

  • for:已知循环次数。
  • while:条件驱动循环。
  • do-while:至少执行一次。
  • foreach:遍历集合。

通过合理使用循环和控制语句,可以编写出高效且易于维护的代码。