跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
C Sharp 条件语句
”︁
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
= C#条件语句 = '''条件语句'''是C#编程中用于基于不同条件执行不同代码块的核心控制流结构。通过逻辑判断,程序可以动态选择执行路径,这是实现业务逻辑分支的基础。 == 基本概念 == 条件语句通过评估布尔表达式(结果为true或false)来决定程序执行方向。C#提供以下主要条件结构: * '''if语句''' - 基础条件判断 * '''if-else语句''' - 双分支选择 * '''else-if阶梯''' - 多条件判断 * '''switch语句''' - 多路分支选择 == if语句 == 最简单的条件结构,语法如下: <syntaxhighlight lang="csharp"> if (condition) { // 当condition为true时执行的代码 } </syntaxhighlight> '''示例:''' <syntaxhighlight lang="csharp"> int temperature = 25; if (temperature > 20) { Console.WriteLine("天气温暖"); } </syntaxhighlight> '''输出:''' <pre>天气温暖</pre> == if-else语句 == 双分支条件结构: <syntaxhighlight lang="csharp"> if (condition) { // condition为true时执行 } else { // condition为false时执行 } </syntaxhighlight> '''实际案例 - 用户登录验证:''' <syntaxhighlight lang="csharp"> string storedPassword = "Secure123"; string inputPassword = Console.ReadLine(); if (inputPassword == storedPassword) { Console.WriteLine("登录成功!"); } else { Console.WriteLine("密码错误!"); } </syntaxhighlight> == else-if阶梯 == 处理多个互斥条件: <syntaxhighlight lang="csharp"> if (condition1) { // 代码块1 } else if (condition2) { // 代码块2 } else { // 默认代码块 } </syntaxhighlight> '''成绩评级系统示例:''' <syntaxhighlight lang="csharp"> int score = 85; if (score >= 90) { Console.WriteLine("A级"); } else if (score >= 80) { Console.WriteLine("B级"); } else if (score >= 70) { Console.WriteLine("C级"); } else { Console.WriteLine("需努力"); } </syntaxhighlight> '''输出:''' <pre>B级</pre> == switch语句 == 当需要基于单个变量的多个值进行分支时使用: <syntaxhighlight lang="csharp"> switch (expression) { case value1: // 代码块1 break; case value2: // 代码块2 break; default: // 默认代码块 break; } </syntaxhighlight> '''工作日判断示例:''' <syntaxhighlight lang="csharp"> DayOfWeek today = DateTime.Today.DayOfWeek; switch (today) { case DayOfWeek.Monday: Console.WriteLine("每周会议日"); break; case DayOfWeek.Friday: Console.WriteLine("周末准备日"); break; case DayOfWeek.Saturday: case DayOfWeek.Sunday: Console.WriteLine("休息日"); break; default: Console.WriteLine("工作日"); break; } </syntaxhighlight> == 条件运算符(三元运算符) == 简化的条件表达式: <syntaxhighlight lang="csharp"> variable = (condition) ? expression1 : expression2; </syntaxhighlight> '''示例:''' <syntaxhighlight lang="csharp"> int age = 20; string status = (age >= 18) ? "成人" : "未成年"; Console.WriteLine(status); </syntaxhighlight> '''输出:''' <pre>成人</pre> == 嵌套条件语句 == 条件结构可以多层嵌套,但需注意可读性: <syntaxhighlight lang="csharp"> if (condition1) { if (condition2) { // 嵌套代码块 } } </syntaxhighlight> '''权限检查示例:''' <syntaxhighlight lang="csharp"> bool isAuthenticated = true; bool isAdmin = false; if (isAuthenticated) { if (isAdmin) { Console.WriteLine("显示管理员面板"); } else { Console.WriteLine("显示用户面板"); } } else { Console.WriteLine("请先登录"); } </syntaxhighlight> == 流程图表示 == 以下mermaid图展示了if-else逻辑流程: <mermaid> graph TD A[开始] --> B{条件} B -- true --> C[执行if代码块] B -- false --> D[执行else代码块] C --> E[结束] D --> E </mermaid> == 最佳实践 == 1. 保持条件简单,复杂逻辑应拆分为多个布尔变量 2. 避免深层嵌套(一般不超过3层) 3. 对范围检查,使用边界值分析 4. switch语句应始终包含default case 5. 优先使用switch而非多个else-if当处理枚举或固定值集合时 == 性能考虑 == * 编译器通常会将switch语句优化为'''跳转表''',比多个if-else效率更高 * 布尔表达式使用'''短路求值''':在逻辑与(&&)中,遇到false即停止;在逻辑或(||)中,遇到true即停止 == 数学表达式 == 条件语句中可使用复杂数学表达式,例如: <math> \text{判断二次方程实根条件:} \quad b^2 - 4ac \geq 0 </math> 对应代码实现: <syntaxhighlight lang="csharp"> double a = 1, b = -3, c = 2; double discriminant = b * b - 4 * a * c; if (discriminant > 0) { Console.WriteLine("两个不同实根"); } else if (discriminant == 0) { Console.WriteLine("一个实根"); } else { Console.WriteLine("无实根"); } </syntaxhighlight> == 总结 == C#条件语句提供了灵活的程序控制能力,通过合理组合不同结构可以处理各种业务逻辑分支场景。初学者应重点掌握基本语法和逻辑关系,而高级开发者需关注代码可读性和性能优化。 [[Category:编程语言]] [[Category:C Sharp]] [[Category:C Sharp 控制流]]
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)