Administrator
发布于 2025-09-21 / 9 阅读
0
0

C#4.3:do-while循环语句用法详解

do-while循环是C#中另一种重要的循环结构,它与while循环的关键区别在于:do-while循环至少会执行一次循环体,然后再检查条件。

1. do-while循环的基本语法

do
{
    // 循环体:至少执行一次的代码
} while (条件表达式);

注意:结尾的分号;是必须的,这是与while循环语法上的重要区别。

2. 简单示例入门

示例1:基础计数循环

int count = 1;
do
{
    Console.WriteLine("这是第 " + count + " 次循环");
    count++;
} while (count <= 5);

示例2:至少执行一次的菜单系统

string choice;
do
{
    Console.WriteLine("请选择操作:");
    Console.WriteLine("1. 查看信息");
    Console.WriteLine("2. 修改设置");
    Console.WriteLine("3. 退出");
    
    choice = Console.ReadLine();
    
    switch (choice)
    {
        case "1":
            Console.WriteLine("显示信息...");
            break;
        case "2":
            Console.WriteLine("修改设置...");
            break;
        case "3":
            Console.WriteLine("谢谢使用!");
            break;
        default:
            Console.WriteLine("无效选择,请重新输入");
            break;
    }
} while (choice != "3"); // 只有当选择"3"时才退出

3. do-while循环的执行流程

开始
↓
执行循环体
↓
检查条件 → true → 返回执行循环体
↓false
结束循环

4. do-while与while的关键区别

// 示例对比:即使条件一开始就不满足,do-while也会执行一次
​
// while循环:先判断,条件不满足则不执行
int i = 10;
while (i < 5)
{
    Console.WriteLine("这不会执行"); // 不会输出
}
​
// do-while循环:先执行,再判断
int j = 10;
do
{
    Console.WriteLine("这会执行一次"); // 会输出,尽管条件不满足
    j++;
} while (j < 5);

6. 常见错误及避免方法

错误1:忘记结尾的分号

// 错误示例
do
{
    Console.WriteLine("Hello");
} while (true) // 缺少分号,编译错误

// 正确写法
do
{
    Console.WriteLine("Hello");
} while (true); // 必须有分号

错误2:无限循环

// 危险示例:无限循环
do
{
    Console.WriteLine("这将无限循环");
} while (true); // 条件永远为true

// 安全示例:有退出机制
bool running = true;
do
{
    Console.WriteLine("输入 'exit' 退出:");
    string input = Console.ReadLine();
    if (input == "exit")
    {
        running = false;
    }
} while (running);

7. 何时使用do-while vs while

场景

推荐使用

原因

菜单系统

do-while

至少显示一次菜单

密码验证

do-while

至少询问一次密码

读取文件直到结束

while

文件可能为空

处理用户输入

do-while

至少获取一次输入

遍历集合

while/for

集合可能为空


评论