C Sharp 循环
外观
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 < 3
为true
,循环就会继续执行。 - 如果条件一开始就为
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
(在需要高性能时)。 - 避免嵌套过深的循环。
循环流程图[编辑 | 编辑源代码]
数学公式[编辑 | 编辑源代码]
循环的迭代次数可以用数学公式表示。例如,for (int i = a; i < b; i += c)
的迭代次数为:
总结[编辑 | 编辑源代码]
C#提供了多种循环结构,每种适用于不同的场景:
for
:已知循环次数。while
:条件驱动循环。do-while
:至少执行一次。foreach
:遍历集合。
通过合理使用循环和控制语句,可以编写出高效且易于维护的代码。