当前位置: 首页 > article >正文

C#基础:掌握控制流语句,构建灵活的程序逻辑

在C#中,控制流语句是用来控制程序执行流程的重要部分。它们允许你根据条件执行不同的代码块,或者重复执行某些代码块直到满足特定条件。下面是一些基本的C#控制流语句:

1. 条件语句

if 语句

if 语句用于在条件为真时执行一段代码。

int number = 5;
if (number > 0)
{
    Console.WriteLine("The number is positive.");
}
if-else 语句

if-else 语句在条件为真时执行一段代码,如果条件为假,则执行另一段代码。

int number = -5;
if (number > 0)
{
    Console.WriteLine("The number is positive.");
}
else
{
    Console.WriteLine("The number is not positive.");
}
if-else if-else 语句

这个结构允许你测试多个条件,并根据第一个为真的条件执行相应的代码块。

int number = 0;
if (number > 0)
{
    Console.WriteLine("The number is positive.");
}
else if (number < 0)
{
    Console.WriteLine("The number is negative.");
}
else
{
    Console.WriteLine("The number is zero.");
}

2. 循环语句

for 循环

for 循环用于重复执行一段代码固定次数。

for (int i = 0; i < 5; i++)
{
    Console.WriteLine($"Number: {i}");
}
foreach 循环

foreach 循环用于遍历数组或集合中的每个元素。

int[] numbers = { 1, 2, 3, 4, 5 };
foreach (int number in numbers)
{
    Console.WriteLine(number);
}
while 循环

while 循环在给定条件为真时重复执行一段代码。

int i = 0;
while (i < 5)
{
    Console.WriteLine($"Number: {i}");
    i++;
}
do-while 循环

do-while 循环至少执行一次代码块,然后检查条件;如果条件为真,则继续执行循环。

int i = 0;
do
{
    Console.WriteLine($"Number: {i}");
    i++;
} while (i < 5);

3. 跳转语句

break 语句

break 语句用于退出最近的封闭循环或switch语句。

for (int i = 0; i < 10; i++)
{
    if (i == 5)
    {
        break; // 退出循环
    }
    Console.WriteLine(i);
}
continue 语句

continue 语句用于跳过当前循环的剩余部分,并继续下一次迭代。

for (int i = 0; i < 10; i++)
{
    if (i % 2 == 0)
    {
        continue; // 跳过偶数
    }
    Console.WriteLine(i);
}
goto 语句

goto 语句允许无条件地跳转到同一函数内的另一个标签。虽然goto在大多数现代编程中被视为不良实践,但在某些特殊情况下(如错误处理)仍然可能有用。

int i = 0;
goto Label;

for (i = 0; i < 10; i++)
{
    // 代码
}

Label:
Console.WriteLine("This will execute immediately after goto.");

结论

控制流语句是编程中不可或缺的部分,它们使得程序能够根据不同的条件和需要执行不同的逻辑。C#提供了丰富的控制流语句,允许开发者以灵活的方式编写强大的程序。


http://www.kler.cn/news/323954.html

相关文章:

  • Python中的“属性与方法”:解锁面向对象编程的秘密
  • 2024年9月25日,Intel发布至强6900P系列:128核心504MB缓存,终于追上AMD!
  • 跨多场景帧重建DENSER:使用小波估计进行城市动态场景重构
  • 机器学习:探索未知边界,解锁智能潜力
  • 华为-单臂路由
  • 服务运营 | 运营前沿:生成式AI改变医疗保健的运作方式
  • SignApp签名工具/美淘iOS在线签名工具/后端PHP
  • MATLAB与Docker Compose:实现微服务API文档的自动化部署与Vue.js集成
  • 算法分类自动驾驶主要算法介绍
  • 三分钟让你掌握PDF转音频:PDF2Audio背后的秘密
  • 2016年国赛高教杯数学建模C题电池剩余放电时间预测解题全过程文档及程序
  • easyexcel常见问题分析
  • html怎么让字体变颜色
  • Android (rust) vulkan (JNI) 画一个三角形: VulkanSurfaceView 初始化
  • ceph rgw 桶分片之reshard
  • 华为GaussDB数据库之Yukon安装与使用
  • 自動獲取IP地址和寬頻撥號上網的詳細指南
  • 828华为云征文|部署个人知识管理系统 SiyuanNote
  • Linux下C开发使用小技巧
  • _RET_IP_ 和_THIS_IP_ 作用
  • cesium的学习过程和使用案例
  • 闲盒支持的组网方式和注意事项
  • gitlab使用小结
  • 原宝,四周年快乐!
  • leetcode621. 任务调度器
  • Linux系统使用iptables配置入站端口
  • 教师工作量|基于springBoot的教师工作量管理系统设计与实现(附项目源码+论文+数据库)
  • shell脚本定时任务通知到钉钉
  • 使用yum为centos系统安装软件以及使用(包含阿里云yum源配置)
  • React封装登录逻辑