首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
.Net
›
第六单元 流程控制
返回列表
发新帖
第六单元 流程控制
[复制链接]
发表于 2023-5-30 13:33:22
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
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
回复
使用道具
举报
返回列表
浏览过的版块
容器及微服务
程序人生
Oracle
运维.售后
SAAS
分布式数据库
DevOps与敏捷开发
云原生
鸿蒙
Java
灌篮少年
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表