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

星降
发布: 2025-09-27 09:44:01
原创
411人浏览过
常量模式用于判断表达式是否等于特定常量,支持整数、浮点数、字符串、布尔值、枚举和null,常见于switch或is表达式中,可简化条件逻辑并提升代码清晰度。

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

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

基本语法与用法

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

例如:
  • 使用 is 表达式进行类型外的值判断:
    if (input is 42)
    {
        Console.WriteLine("输入的是 42");
    }
    登录后复制
  • 在 switch 表达式中匹配字符串常量
    string result = value switch
    {
        "red" => "红色",
        "green" => "绿色",
        "blue" => "蓝色",
        _ => "未知颜色"
    };
    登录后复制

支持的数据类型

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

琅琅配音
琅琅配音

全能AI配音神器

琅琅配音 208
查看详情 琅琅配音
  • 整数(如 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# 中的模式匹配常量模式如何匹配特定值?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号