'is <constantpattern>'和'== constant'之间的区别

时间:2018-08-24 13:00:13

标签: pattern-matching c#-7.0

C#7.0引入了模式匹配,其中一种模式是恒定模式

所以现在可以写:

int? i = 0
if (i is null) {..}

甚至

if (i is 0) {..}

==相等相比如何?

使用哪个运算符比较值?

1 个答案:

答案 0 :(得分:0)

int? i = 0;
if (i is null) {}
if (i is 0) {}

被翻译成:

int? num = 0;
if (!num.HasValue) {}
if (object.Equals(0, num)) {}

sharplab.io