.NET C#基础:While & do-while

介绍

do-while 和 while 语句通过重复代码块直到满足条件来控制代码执行流。

学习目标

  • 利用 do-while 循环循环循环访问代码块。

  • 实现 while 循环以遍历代码块。

开发人员的先决条件

  • 熟悉使用语句。if

  • 熟练使用和迭代语句。foreach for

  • 写作表达的能力。Boolean

  • 使用类和方法生成随机数的知识。System.RandomRandom.Next()

开始

什么是do-while循环?

只要指定的布尔表达式保持 true,do-while 语句就会运行语句或语句块。由于此表达式在每次循环执行后计算,因此 do-while 循环至少执行一次。

示例:do-while

让我们创建连续生成从 1 到 10 的随机数的代码,直到生成数字 7。数字 7 可以在一次迭代中生成,也可以在多次迭代后生成。

首先,在控制台应用程序中创建一个名为""的静态类文件。将提供的代码片段插入到此文件中。WhileLoop.cs

复制代码
/// <summary>
/// Outputs
/// 2
/// 5
/// 8
/// 2
/// 7
/// </summary>
public static void DoWhileLoopExample()
{
    Random random = new Random();
    int current = 0;

    do
    {
        current = random.Next(1, 11);
        Console.WriteLine(current);
    } while (current != 7);
}

从 main 方法执行代码,如下所示

复制代码
#region Day 5 - While & do-while  
  
WhileLoop.DoWhileLoopExample();  
  
#endregion

控制台输出

复制代码
2  
5  
8  
2  
7

示例:while

该语句将基于布尔表达式进行迭代。为此,请将另一个方法添加到同一个静态类中,如下所示while

复制代码
/// <summary>
/// Outputs
/// 9
/// 7
/// 5
/// Last number: 1
/// </summary>
public static void WhileLoopExample()
{
    Random random = new Random();
    int current = random.Next(1, 11);

    while (current >= 3)
    {
        Console.WriteLine(current);
        current = random.Next(1, 11);
    }
    Console.WriteLine($"Last number: {current}");
}

从 main 方法执行代码,如下所示

复制代码
#region Day 5 - While & do-while  
  
WhileLoop.WhileLoopExample();  
  
#endregion

控制台输出

复制代码
9  
7  
5  
Last number: 1

使用 do-while 继续语句

有时,开发人员需要跳过代码块中的其余代码,然后继续进行下一次迭代。为此,请将另一个方法添加到同一静态类中,如下所示

复制代码
/// <summary>
/// Outputs
/// 5
/// 1
/// 6
/// 7
/// </summary>
public static void ContinueDoWhileLoopExample()
{
    Random random = new Random();
    int current = random.Next(1, 11);

    do
    {
        current = random.Next(1, 11);

        if (current >= 8) continue;

        Console.WriteLine(current);
    } while (current != 7);
}

从 main 方法执行代码,如下所示

复制代码
#region Day 5 - While & do-while  
  
WhileLoop.ContinueDoWhileLoopExample();  
  
#endregion

控制台输出

复制代码
5  
1  
6  
7
相关推荐
唐青枫19 分钟前
别只会看日志:C#.NET SOS 调试扩展从 Dump 到内存泄漏排查
c#·.net
wzdark1 小时前
基于链表的内存池设计与内存复用机制4
java·数据结构·链表
cnkeysky2 小时前
idea 中的 maven 项目重新加载子模块
java·idea
Escalating_xu2 小时前
【System V 信号量】从 P/V 原语到 Builder 封装:写出可控、可清理的进程互斥组件
java·linux·开发语言·jvm
今天AI了吗2 小时前
什么是 AI Agent?它与直接调用大模型 API 有何区别
java·网络·人工智能·架构·java-ee
隐退山林2 小时前
JavaEE进阶:SpringAOP
java·java-ee
Wang's Blog2 小时前
Java框架快速入门: Spring Security+OAuth2之方法级安全注解
java·安全·spring
JavacKaka2 小时前
LiteFlow规则引擎实战博客-2026-09-09
java
学渣超2 小时前
记一次复杂业务功能重构——从过程式长链路,到模板方法构建体系
java·架构·代码规范
Bs_MoneyMagnet3 小时前
基于springboot+vue的旅游景区点评系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·旅游