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

在 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
微信扫一扫
支付宝扫一扫