论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
.Net
›
第六单元 流程控制
第六单元 流程控制
灌篮少年
金牌会员
|
2023-5-30 13:33:22
|
显示全部楼层
|
阅读模式
楼主
主题
843
|
帖子
843
|
积分
2529
C# 流程语句分为:顺序结构,选择结构,循环结构。
1. 顺序结构
顺序结构指的是程序一步步向下执行。
int a =10;
int b =a;
a++;
复制代码
2. 选择结构
C# 提供以下类型的选择语句。
声明描述
if声明
一个if语句包含一个布尔表达式后跟一个或多个语句。
if...else声明
一个if语句可以跟着一个可选的else语句,当布尔表达式是假的,其执行。
嵌套if语句
您可以在另一个if or else if语句中使用一个if or else if语句。
switch语句
switch语句允许一个变量来针对值的列表平等进行测试。
嵌套的switch语句
您可以在另一个switch语句中使用一个switch语句。
if ... else
if .. else 语法
if(bool 表达式)
{
...
}
else if(bool 表达式) // 可选的
{
...
}
else // 可选的
{
...
}
复制代码
例1:
int score =90;
if(score >= 60)
{
Console.WriteLine("及格");
}
else
{
Console.WriteLine("不及格");
}
复制代码
例2:
static void Main(string[] args)
{
int a = 90;
Console.WriteLine(GetGrade(a));
}
public static string GetGrade(int score)
{
if (score>=60)
{
return "及格";
}
else
{
return "不及格";
}
}
// 简写
public static string GetGrade(int score)
{
if (score>=60)
{
return "及格";
}
return "不及格";
}
复制代码
例3:
static void Main(string[] args)
{
int a = 90;
Console.WriteLine(GetGrade(a));
}
public static string GetGrade(int score)
{
if (score<60)
{
return "不及格";
}
else if(score>=60 && score<=70)
{
return "一般";
}
else if (score > 70 && score <= 80)
{
return "良好";
}
else
{
return "优秀";
}
}
复制代码
执行结果根据当天日期有所不同,我这里执行这天的结果为:
if (score<60)
return "不及格";
复制代码
C# 9.0 借助于模式匹配
Exp1 ? Exp2 : Exp3;
复制代码
以下实例判断学生的成绩,包含了
default
语句:
switch(expression){
case constant-expression :
statement(s);
break;
case constant-expression :
statement(s);
break;
/* 您可以有任意数量的 case 语句 */
default : /* 可选的 */
statement(s);
break;
}
复制代码
当上面的代码被编译和执行时,它会产生下列结果:
static void Main(string[] args)
{
int day = 4;
switch (day) // 数字,字符串,枚举
{
case 1: // 只能写常量
Console.WriteLine("Monday");
break;
case 2:
Console.WriteLine("Tuesday");
break;
case 3:
Console.WriteLine("Wednesday");
break;
case 4:
Console.WriteLine("Thursday");
break;
case 5:
Console.WriteLine("Friday");
break;
case 6:
Console.WriteLine("Saturday");
break;
case 7:
Console.WriteLine("Sunday");
break;
default:
Console.WriteLine("Sunday");
break;
}
}
复制代码
if 与 switch 的区别
一:从“优缺点”分析
if…else 优点:使用灵活,代码空间小 ;
缺点:效率低,因为 if else 必须遍历所有的可能值;
switch…case 优点:代码结构清晰,效率高;
C# 9.0 以后,已经完全可以代替if else 结构了。
强化练习
业务场景:消费者在图书商城购买图书,下单后需要在支付页面显示订单优惠后的价格。具体优惠规则如下:
规则编号规则名称描述1规则一所购图书总价在100元以下的没有优惠2规则二所购图书总价在100到200元的优惠20元3规则三所购图书总价在200到300元的优惠50元4规则四所购图书总价在300元以上的优惠100元现在需要根据上面的规则计算优惠后的价格。
[code]// 表示购物金额int money = 666;// 所购图书总价在100元以下的没有优惠if (money < 100){ money = money;}else if (money >= 100 && money 200 && money
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
灌篮少年
金牌会员
这个人很懒什么都没写!
楼主热帖
【靶场】THM-Pickle Rick-练习
【WinUI3】ListView / GridView 学习总 ...
每日算法之二叉搜索树的后序遍历序列 ...
SAP WM高阶之下架策略M(Small Large Qu ...
用C# + Winform 做一个简易的游戏设计 ...
Dubbo原理解析(非常透彻)
JDBC核心技术
线程池
【邂逅Django】——(一)创建项目 ...
Arrya类常见方法学习
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表