C# 关系模式
2023-01-15 10:52 作者:SunnieShine | 我要投稿
1、语法
前面的模式可以解决一大部分的问题了,但是有些时候,数据判断和取值无法对一个范围来判断,因此还不够灵活。C# 里还有关系模式,来对数据的范围来判断。
即使 obj 不是 int 类型,我们依旧可以这么写。这个代码等价于 obj is int i && i > 30。
C# 允许 >、>=、< 和 <= 四个运算符,写在 is 后,来表达范围判断。稍微注意一下的地方是,is > 30 的 30 必须是常量才行。
给大家看一个例子:
不过怎么理解,就靠你自己了。
2、不推断类型的时候,不要用模式匹配
正是因为出了这个模式,下面两句话就变成等价的了:
is,语句都可以理解。但是,有 is 需要模式匹配,因此显然复杂一点。因此,我们建议在数据类型不用判断的时候,不要使用 is

