C#中'is'和'and'作为单词的逻辑运算符语法疑问
问题解答
这个语法是C# 9.0及以上版本的原生语言特性,不需要安装任何额外扩展就能正常编译运行。
核心特性拆解
- 关系模式(Relational Patterns):C# 9.0引入了
</<=/>/>=这类关系运算符的模式匹配支持,允许直接在is表达式中对值做范围比较。示例中<= DaysOfWeek.Friday和>= DaysOfWeek.Monday就是这种模式的应用。 - 逻辑模式组合(Logical Patterns):同样是C# 9.0新增的
and运算符,用于在模式匹配中实现逻辑与的组合效果,替代传统的&&(两者在该场景下功能等价,但and是模式匹配语法体系的原生运算符)。
补充说明
枚举类型默认基于整数类型(如int)存储,因此直接对枚举值做范围比较是有效的,底层会使用枚举对应的整数值进行判断。只要你的项目将语言版本设置为C# 9.0或更高(比如在项目文件中配置<LangVersion>9.0</LangVersion>或<LangVersion>latest</LangVersion>),就能正常使用该语法。
内容的提问来源于stack exchange,提问作者SimeonYordanov
相关产品推荐
相关产品推荐

