C# 循环与条件语句详解
C# Switch 语句
使用 switch 语句选择要执行的多个代码块中的一个。
示例:
switch(expression)
{
case x:
// 代码块
break;
case y:
// 代码块
break;
default:
// 代码块
break;
}
它的工作方式如下:
- 评估
switch表达式一次 - 将表达式的值与每个
case的值进行比较 - 如果有匹配,执行关联的代码块
以下示例使用星期几的数字来计算星期几的名称:
示例
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 在执行代码块后执行(每次)。
下面的示例将打印出数字 0 到 4:
示例
for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
}
示例说明
Statement 1在循环开始之前设置一个变量(int i = 0)。Statement 2定义循环运行的条件(i必须小于5)。如果条件为true,循环将重新开始;如果条件为false,循环将结束。Statement 3在循环中的代码块执行后增加一个值(i++)。
另一个示例
这个示例将只打印出在 0 到 10 之间的偶数值:
示例
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# 循环与条件语句详解的更多相关文章
- JScript中的条件注释详解(转载自网络)
JScript中的条件注释详解-转载 这篇文章主要介绍了JScript中的条件注释详解,本文讲解了@cc_on.@if.@set.@_win32.@_win16.@_mac等条件注释语句及可用于条件编 ...
- mysql基础篇 - SELECT 语句详解
基础篇 - SELECT 语句详解 SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELEC ...
- T-SQL_select语句详解
select语句执行的过程: 先看查询内容 ==>where条件 ==>[分组条件] ==>[分组搜索条件] ==>内容输出 ==>[是否排序] SQL中SELECT语句 ...
- 【转】MySQL用户管理及SQL语句详解
[转]MySQL用户管理及SQL语句详解 1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysq ...
- MySQL之SELECT 语句详解
本文参考实验楼的SELECT 语句详解结合自己操作部分而写成. 注意:大多数系统中,SQL语句都是不区分大小写的,但是出于严谨和便于区分保留字和变量名,在书写的时,保留字应大写,而变量名应小写.所谓的 ...
- SQL DELETE 语句详解
SQL DELETE 语句详解 DELETE 语句 DELETE 语句用于删除表中的行. 语法 DELETE FROM 表名称 WHERE 列名称 = 值 Person: LastName Fir ...
- SQL Update 语句详解
SQL Update 语句详解 Update 语句 Update 语句用于修改表中的数据. 语法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 Person: L ...
- “全栈2019”Java异常第二十二章:try-with-resources语句详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- 问题:oracle select into;结果:oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解
oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解 (2011-07-08 08:59:47) 转载▼ 标签: it 分类: oracle 我们经常会遇 ...
- C#基础表达式语句详解(上)
本节内容: 1.表达式的定义: 2.各类表达式概览: 3.语句的定义: 4.语句详解: 1.表达式的定义: 1.1什么是表达式: (定义见下图)各类编程语言对表达式的实现不尽相同,但大体上都符合这个定 ...
随机推荐
- 尝试通过uniapp仿微信页面
最近一直想弄一个app,然后刚好看到Uniapp这个技术,然后最近就用几个晚上琢磨了下: 先看下成果: 1.通讯页面,这个是通过插件uni-indexed-list 索引列表 进行改造过后:改造过程还 ...
- 文心一言 VS 讯飞星火 VS chatgpt (204)-- 算法导论15.3 3题
三.考虑矩阵链乘法问题的一个变形:目标改为最大化矩阵序列括号化方案的标量乘法运算次数,而非最小化.此问题具有最优子结构性质吗?需要写代码的时候,请用go语言. 文心一言,代码正常运行: 首先,我们要明 ...
- 结构化思维助力Prompt创作:专业化技术讲解和实践案例
结构化思维助力Prompt创作:专业化技术讲解和实践案例 最早接触 Prompt engineering 时, 学到的 Prompt 技巧都是: 你是一个 XX 角色- 你是一个有着 X 年经验的 X ...
- Rust 开发的高性能 Python 包管理工具,可替换 pip、pip-tools 和 virtualenv
最近,我在 Python 潮流周刊 中分享了一个超级火爆的项目,这还不到一个月,它在 Github 上已经拿下了 8K star 的亮眼成绩,可见其受欢迎程度极高!国内还未见有更多消息,我趁着周末把一 ...
- C++ //类模板对象做函数参数 //三种方式 //1.指定传入的类型 --直接显示对象的数据类型 //2.参数模板化 --将对象中的参数变为模板进行传递 //3.整个类模板化 --将这个对象类型 模板化进行传递
1 //类模板对象做函数参数 2 //三种方式 3 //1.指定传入的类型 --直接显示对象的数据类型 4 //2.参数模板化 --将对象中的参数变为模板进行传递 5 //3.整个类模板化 --将这个 ...
- MVC阶段所有框架完整组合示例
思路:创建工程,导包.编辑配置文件包括 核心spring配置 SpringConfig myBatis 配置文件 mybatisConfig JdbcConfig jdbc.properti ...
- sqlserver 查看执行计划
-- 清除执行计划缓存 DBCC FREEPROCCACHE -- 查看缓存执行计划 SELECT * FROM sys.dm_exec_cached_plans as p CROSS APPLY s ...
- 浅谈IT系统性能优化
一个刚上线的IT系统,往往负载压力不大,所以不会存在什么性能问题.这时,人们大多只关心系统的功能性和用户体验.但是,随着时间推移,用户量和数据量都比刚上线的时候要多很多,高并发和大数据场景下,系统遇到 ...
- 本地画板工具 Axure RP 9 顶替 drawio (补充Axure RP 8)
本地画板工具 Axure RP 9 顶替 drawio 外链:https://wws.lanzoul.com/b03paemkf 密码:dmvj 9这个版本 win7 不支持 Axure RP 8 h ...
- great [ɡreɪt] ɡr 然后 eɪt 单词发音 r和前面的辅音连读
great [ɡreɪt] ɡr 然后 eɪt 单词发音 r和前面的辅音连读