常量模式用于将表达式与固定常量比较,C#中可直接用枚举成员进行匹配。如color is Color.Red判断值是否为红色;switch表达式中也可用Color.Red => "红色"等语法实现多分支处理,下划线_表示默认情况。枚举值需为编译时常量,支持自定义整数值,但不可使用变量参与比较,适合基于枚举的逻辑分支。

在 C# 中,常量模式用于将表达式的值与一个固定的常量进行比较。当你使用常量模式匹配枚举时,可以直接用枚举的成员作为常量来参与匹配。
常量模式的写法是在 switch 表达式或 is 表达式中直接使用枚举值。C# 编译器会判断表达式的值是否等于指定的枚举常量。
例如:
enum Color
{
Red,
Green,
Blue
}
<p>Color color = Color.Red;</p><p>if (color is Color.Red)
{
Console.WriteLine("颜色是红色");
}
这段代码中,color is Color.Red 就是常量模式的应用,它检查 color 是否等于 Color.Red。
switch 表达式也支持常量模式,可以清晰地处理不同枚举值的情况。
string result = color switch
{
Color.Red => "红色",
Color.Green => "绿色",
Color.Blue => "蓝色",
_ => "未知颜色"
};
每个分支都使用了常量模式,将 color 的值与具体的枚举成员比较。下划线 _ 是弃元模式,表示默认情况。
常量模式要求右侧是一个编译时确定的常量。枚举成员天然满足这个条件,因此可以直接使用。
需要留意的是:基本上就这些。常量模式匹配枚举简单直接,适合做基于枚举值的逻辑分支。
以上就是C# 中的模式匹配常量模式如何匹配枚举?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号