C# 中的模式匹配常量模式如何匹配特定值?

常量模式用于判断表达式是否等于特定常量,支持整数、浮点数、字符串、布尔值、枚举和null,常见于switch或is表达式中,可简化条件逻辑并提升代码清晰度。

c# 中的模式匹配常量模式如何匹配特定值?

在 C# 中,常量模式用于判断表达式的值是否等于某个特定的常量。这种模式通常出现在 switch 表达式is 表达式 中,用来检查变量是否匹配指定的常量值。

基本语法与用法

常量模式的语法很简单:直接写一个常量值,比如数字、字符串、布尔值或枚举值。运行时会将目标表达式的值与此常量进行比较。

例如:使用 is 表达式进行类型外的值判断:

if (input is 42){    Console.WriteLine("输入的是 42");}

在 switch 表达式中匹配字符串常量

string result = value switch{    "red" => "红色",    "green" => "绿色",    "blue" => "蓝色",    _ => "未知颜色"};

支持的数据类型

常量模式可以匹配多种类型的常量值:

整数(如 0、1、-1、42)浮点数(如 3.14)字符串(如 “yes”、”no”)布尔值(true、false)枚举成员(如 Color.Red)null —— 特别常见,用于判断是否为空引用示例:判断是否为 null

if (obj is null){    Console.WriteLine("对象为空");}

实际应用场景

常量模式在简化条件逻辑方面非常实用。

处理配置字符串或命令输入:

string action = command switch{    "start" => StartService(),    "stop" => StopService(),    "restart" => RestartService(),    _ => "无效指令"};

结合 if 和 is 判断特殊状态值:

if (status is HttpStatusCode.NotFound){    // 处理 404}

基本上就这些。常量模式不复杂,但能让你的代码更清晰,尤其是在做值判断时替代冗长的 == 比较。注意它只适用于可确定的常量,不能是变量或表达式。匹配过程基于类型的相等性规则,对于引用类型要小心字符串以外的引用比较问题。基本上就这些。

以上就是C# 中的模式匹配常量模式如何匹配特定值?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1440051.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 16:42:19
下一篇 2025年12月17日 16:42:29

相关推荐

发表回复

登录后才能评论
关注微信