C# Switch 语句

使用 switch 语句选择要执行的多个代码块中的一个。

示例:

switch(expression)
{
case x:
// 代码块
break;
case y:
// 代码块
break;
default:
// 代码块
break;
}

它的工作方式如下:

  1. 评估 switch 表达式一次
  2. 将表达式的值与每个 case 的值进行比较
  3. 如果有匹配,执行关联的代码块

以下示例使用星期几的数字来计算星期几的名称:

示例

int day = 4;
switch (day)
{
case 1:
Console.WriteLine("星期一");
break;
case 2:
Console.WriteLine("星期二");
break;
case 3:
Console.WriteLine("星期三");
break;
case 4:
Console.WriteLine("星期四");
break;
case 5:
Console.WriteLine("星期五");
break;
case 6:
Console.WriteLine("星期六");
break;
case 7:
Console.WriteLine("星期日");
break;
}
// 输出 "星期四"(第 4 天)

break 关键字

当 C# 遇到 break 关键字时,它会跳出 switch 块。

这将停止执行更多 switch 块内部的代码和 case 测试。

当找到匹配并完成任务时,是时候休息一下了。不需要进行更多测试。

break 可以节省大量执行时间,因为它“忽略”了 switch 块中其余代码的执行。

default 关键字

default 关键字是可选的,如果没有 case 匹配,则指定一些代码运行:

示例

int day = 4;
switch (day)
{
case 6:
Console.WriteLine("今天是星期六。");
break;
case 7:
Console.WriteLine("今天是星期日。");
break;
default:
Console.WriteLine("期待周末。");
break;
}
// 输出 "期待周末。"

C# While Loop

循环

循环可以执行一段代码,只要满足指定的条件。

循环很方便,因为它们节省时间、减少错误,并使代码更易读。

C# While 循环

while 循环会在指定条件为 True 的情况下循环执行一段代码块:

示例:

while (condition)
{
// 要执行的代码块
}

在下面的示例中,只要变量(i)小于 5,循环中的代码将一遍又一遍地运行:

示例

int i = 0;
while (i < 5)
{
Console.WriteLine(i);
i++;
}

注意:不要忘记增加条件中使用的变量,否则循环永远不会结束!

Do/While 循环

do/while 循环是 while 循环的变体。这个循环会在检查条件是否为真之前执行一次代码块,然后只要条件为真就重复循环。

语法

do
{
// 要执行的代码块
}
while (condition);

下面的示例使用了 do/while 循环。即使条件为 false,循环也会至少执行一次,因为在测试条件之前执行代码块:

示例

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

不要忘记增加条件中使用的变量,否则循环永远不会结束!

C# For Loop

C# For 循环

当你确切地知道要循环执行一段代码多少次时,使用 for 循环而不是 while 循环:

示例:

for (statement 1; statement 2; statement 3)
{
// 要执行的代码块
}

Statement 1 在执行代码块之前执行(一次)。

Statement 2 定义执行代码块的条件。

Statement 3 在执行代码块后执行(每次)。

下面的示例将打印出数字 04

示例

for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
}

示例说明

  • Statement 1 在循环开始之前设置一个变量(int i = 0)。
  • Statement 2 定义循环运行的条件(i 必须小于 5)。如果条件为 true,循环将重新开始;如果条件为 false,循环将结束。
  • Statement 3 在循环中的代码块执行后增加一个值(i++)。

另一个示例

这个示例将只打印出在 010 之间的偶数值:

示例

for (int i = 0; i <= 10; i = i + 2)
{
Console.WriteLine(i);
}

嵌套循环

也可以将一个循环放在另一个循环内部。这被称为嵌套循环。

"内部循环" 将在 "外部循环" 的每次迭代中执行一次:

示例

// 外部循环
for (int i = 1; i <= 2; ++i)
{
Console.WriteLine("外部: " + i); // 执行 2 次 // 内部循环
for (int j = 1; j <= 3; j++)
{
Console.WriteLine(" 内部: " + j); // 执行 6 次(2 * 3)
}
}

C# For each 循环

还有一个专门用于遍历数组元素的 foreach 循环:

示例:

foreach (type variableName in arrayName)
{
// 要执行的代码块
}

以下示例使用 foreach 循环输出 cars 数组中的所有元素:

示例

string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
foreach (string i in cars)
{
Console.WriteLine(i);
}

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

C# 循环与条件语句详解的更多相关文章

  1. JScript中的条件注释详解(转载自网络)

    JScript中的条件注释详解-转载 这篇文章主要介绍了JScript中的条件注释详解,本文讲解了@cc_on.@if.@set.@_win32.@_win16.@_mac等条件注释语句及可用于条件编 ...

  2. mysql基础篇 - SELECT 语句详解

    基础篇 - SELECT 语句详解         SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELEC ...

  3. T-SQL_select语句详解

    select语句执行的过程: 先看查询内容 ==>where条件 ==>[分组条件] ==>[分组搜索条件] ==>内容输出 ==>[是否排序] SQL中SELECT语句 ...

  4. 【转】MySQL用户管理及SQL语句详解

    [转]MySQL用户管理及SQL语句详解 1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysq ...

  5. MySQL之SELECT 语句详解

    本文参考实验楼的SELECT 语句详解结合自己操作部分而写成. 注意:大多数系统中,SQL语句都是不区分大小写的,但是出于严谨和便于区分保留字和变量名,在书写的时,保留字应大写,而变量名应小写.所谓的 ...

  6. SQL DELETE 语句详解

    SQL DELETE 语句详解   DELETE 语句 DELETE 语句用于删除表中的行. 语法 DELETE FROM 表名称 WHERE 列名称 = 值 Person: LastName Fir ...

  7. SQL Update 语句详解

    SQL Update 语句详解   Update 语句 Update 语句用于修改表中的数据. 语法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 Person: L ...

  8. “全栈2019”Java异常第二十二章:try-with-resources语句详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  9. 问题:oracle select into;结果:oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解

    oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解 (2011-07-08 08:59:47) 转载▼ 标签: it 分类: oracle 我们经常会遇 ...

  10. C#基础表达式语句详解(上)

    本节内容: 1.表达式的定义: 2.各类表达式概览: 3.语句的定义: 4.语句详解: 1.表达式的定义: 1.1什么是表达式: (定义见下图)各类编程语言对表达式的实现不尽相同,但大体上都符合这个定 ...

随机推荐

  1. CoaXPress 2.0 FPGA 4 Channel Host and Device FMC Card User Manual

    Hello-FPGA CoaXPress 2.0 FMC Card User Manual 4 1 CoaXPress 简介 4 2 CoaXPress 4R FMC 5 2.1 硬件特性 5 2.2 ...

  2. 【Azure API 管理】Azure API Management通过请求中的Path来限定其被访问的频率(如1秒一次)

    问题描述 Azure API Management 是否可以通过请求中的Path来限定其被访问的频率? 在系统Request中发现某个Path 在短时间内被频繁的调用,影响了后台服务的性能及安全,所以 ...

  3. linux系统信息命令笔记

    1,时间和日期 2,磁盘信息 4,进程概念介绍 4.1,ps 基本命令使用 ps aux 显示内容太多了.一般用ps a 或 ps au 4.2, top命令的基本使用 top 可以动态的显示运行中的 ...

  4. 如何扩展Spark Catalyst,抓取spark sql 语句,通过listenerBus发送sql event以及编写自定义的Spark SQL引擎

    1.Spark Catalyst扩展点 Spark catalyst的扩展点在SPARK-18127中被引入,Spark用户可以在SQL处理的各个阶段扩展自定义实现,非常强大高效,是SparkSQL的 ...

  5. Django进阶之路由层和视图层

    Django的路由系统 [1]什么是URL配置(URLconf) URL调度器 | Django 文档 | Django (djangoproject.com) URL配置(URLconf)就像Dja ...

  6. GaussDB(DWS)集群通信:详解pooler连接池

    本文分享自华为云社区<GaussDB(DWS) 集群通信系列一:pooler连接池>,作者:半岛里有个小铁盒. 1.前言 适用版本:[8.1.0(及以上)] GaussDB(DWS) 为M ...

  7. baidu 突然打不开了 20210621

    换了个dns 123.125.81.6 114.114.114.114

  8. iview viewdesign 里面的Select 输入添加 query不能从新为空 @on-create 解决方案 v-if 从新刷一遍

    iview viewdesign 里面的Select 输入添加 query不能从新为空 @on-create 解决方案 v-if 从新刷一遍

  9. 基于 XAF Blazor 的规则引擎编辑器 - 实战篇

    示例项目:https://gitee.com/easyxaf/recharge-rules-engine-sample 前言 继上一篇文章对规则引擎编辑器进行了初步介绍之后,本文将通过实际应用案例深入 ...

  10. Linux Subreaper 机制及内核态逃离方法(PR_SET_CHILD_SUBREAPER, prctl, systemed)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明   无 前言   由于某些其他的原因,我们在测试另外一 ...