C#的判断语句总结

devtools/2025/3/12 0:48:52/

C#判断语句分类:

├─ if 语句(基础条件分支)  
│  ├─ if  
│  ├─ if-else  
│  └─ else if(多条件)  
├─ switch 语句(多值匹配)  
│  ├─ 值类型/字符串/枚举  
│  └─ switch 表达式(C# 8.0+)  
└─ 三元运算符(简化条件赋值)

一、if 语句‌

1. 基本形式‌

  • 语法‌:通过布尔表达式控制代码分支
if (条件)  
{  // 条件为 true 时执行  
}  
  • ‌示例‌:
int number = 5;  
if (number > 0)  
{  Console.WriteLine("数字是正数");  // 输出结果  
} 

2‌. if-else 语句‌

  • ‌语法‌:处理两种对立情况
if (条件)  
{  // 条件为 true 时执行  
}  
else  
{  // 条件为 false 时执行  
}  
  • 示例‌:
int score = 80;  
if (score >= 60)  Console.WriteLine("及格");  
else  Console.WriteLine("不及格");  

-执行流程‌:若条件不满足,直接跳转至 else 代码块‌

3‌.else if 多条件分支‌

  • ‌语法‌:处理多个互斥条件
if (条件1)  
{  // 条件1为 true 时执行  
}  
else if (条件2)  
{  // 条件2为 true 时执行  
}  
else  
{  // 所有条件均不满足时执行  
}  
  • ‌示例‌:
int temperature = 25;  
if (temperature > 30)  Console.WriteLine("高温");  
else if (temperature < 10)  Console.WriteLine("低温");  
else  Console.WriteLine("适宜");  

‌注意‌:条件按顺序判断,首个满足的条件执行后跳过其他分支‌

二、switch 语句‌

1‌.基本语法‌

  • 作用‌:基于变量值匹配多个固定选项
switch (表达式)  
{  case1:  // 匹配值1时执行  break;  case2:  // 匹配值2时执行  break;  default:  // 无匹配值时执行  break;  
}  
  • 示例‌:
string day = "Monday";  
switch (day)  
{  case "Monday":  Console.WriteLine("工作日开始");  break;  case "Saturday":  case "Sunday":  Console.WriteLine("周末");  break;  default:  Console.WriteLine("其他工作日");  break;  
}

2‌.支持的类型与特性‌

  • 类型兼容性‌:支持整数、字符串、枚举等类型‌23
  • ‌case 合并‌:多个 case 可共享同一代码块(如 case 1: case 2:)‌35
  • ‌switch 表达式(C# 8.0+)‌:简化语法,返回结果值
string result = day switch  
{  "Monday" => "工作日",  _ => "其他"  
};  

三、三元条件运算符(?:)‌

‌语法与用途‌

  • ‌形式‌:条件 ? 表达式1 : 表达式2
  • ‌示例‌:
int x = 10, y = 20;  
string max = (x > y) ? "x更大" : "y更大";  
  • ‌特性‌:
    a. 替代简单 if-else 结构,适用于赋值场景
    b. 若条件复杂,建议优先使用 if 语句提升可读性‌15

四、使用建议

1‌.代码可读性‌

  • 复杂条件逻辑优先使用 if-else if 或 switch,避免嵌套过深‌
  • 使用括号明确运算优先级(如 if ((a > b) && (c < d)))‌

‌2.性能优化‌

  • switch 对固定值匹配效率高于多重 if-else(尤其值较多时)‌
  • 利用 switch 表达式的模式匹配简化代码(C# 8.0+)‌

3‌.错误规避‌

  • switch 语句需包含 break 或 return,否则编译报错‌
  • else 始终与最近未匹配的 if 配对,需注意缩进避免歧义‌

http://www.ppmy.cn/devtools/166413.html

相关文章

Python学习第八天

查看函数参数 操作之前给大家讲一个小技巧&#xff1a;如何查看函数的参数&#xff08;因为python的底层源码是C语言并且不是开放的&#xff0c;也一直困扰着刚学习的我&#xff0c;这个参数叫什么名之类的看doc又总是需要翻译挺麻烦的&#xff09;。 比如我们下面要说到的op…

Github2025-03-10 开源项目周报 Top13

根据Github Trendings的统计,本周(2025-03-10统计)共有13个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目7TypeScript项目2JavaScript项目2C++项目1Jupyter Notebook项目1Vue项目1文档项目1Rust项目1Svelte项目1从零开始构建你喜爱的技术 创…

在CentOS系统上安装Conda的详细指南

前言 Conda 是一个开源的包管理系统和环境管理系统&#xff0c;广泛应用于数据科学和机器学习领域。本文将详细介绍如何在 CentOS 系统上安装 Conda&#xff0c;帮助您快速搭建开发环境。 准备工作 在开始安装之前&#xff0c;请确保您的 CentOS 系统已经满足以下条件&#x…

本地fake server,

C# 制作的系统级tcp 重定向&#xff0c;整个系统只要有访问指定url&#xff0c;返回自定义内容到访问端。不局限在浏览器单一方面。 再者请理解这个图的含金量&#xff0c;服务器down机都可以模拟。 用途那就太多了&#xff0c;当然很多用途都不正当。嘿嘿 如果你很想要源代…

如何将聚水潭·奇门平台数据高效集成到MySQL

聚水潭奇门数据集成到MySQL的技术案例分享 在现代企业的数据管理中&#xff0c;如何高效、可靠地实现不同系统之间的数据对接和集成是一个关键问题。本篇文章将聚焦于一个具体的系统对接集成案例&#xff1a;将聚水潭奇门平台的销售出库单数据集成到MySQL数据库中&#xff0c;以…

【MySQL】第七弹---深入理解数据库表约束:自增长、唯一键、外键及综合案例解析

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【MySQL】 目录 1 表的约束 1.1 自增长 1.2 唯一键 1.3 外键 1.4 综合案例 1 表的约束 1.1 自增长 auto_increment&#xff1a;…

【软考-架构】2.3、设备管理-文件管理

✨资料&文章更新✨ GitHub地址&#xff1a;https://github.com/tyronczt/system_architect 文章目录 设备管理概述&#x1f31f;I/O软件设备管理技术&#x1f4af;考试真题文件管理概述✨索引文件结构&#x1f4af;考试真题文件目录&#x1f4af;考试真题文件存储空间管理位…

串口助手的C#编写以及有人串口服务器USR-DR301的使用

本文介绍C#编写串口程序的要点,串口服务器USR-DR301(RS232转TCP)的使用、以及调试过程中碰到的两个问题: 1). 调用串口报“连到系统上的设备没有发挥作用”. 2). “所有文本框都变成了透明”的异常处理 代码见:https://download.csdn.net/download/qq_34047402/9046713…