区分 C# 7 中的“x is null”和“x == null”
C# 7 引入了“x is null”运算符作为“x == null”的替代。虽然 new 运算符看起来只是语法上的变化,但两者之间存在细微的差异,这些差异会影响它们的使用时间和方式。
语义不同吗?
不。对于 null 比较,“x is null”和“x == null”的语义是相同的。但是,“x is null”运算符在与常量进行比较时会考虑类型。与重载相等运算符的自定义类型相比,这可能会导致与“x == null”不同的行为。
性能影响
在以前的 Roslyn 编译器版本中,“x == null”比“x is null”更快。然而,最新 Roslyn 编译器中的优化使得在没有重载相等运算符时这两个运算符的效率相同。
决定使用哪个运算符
之间的选择 " x is null”和“x == null”取决于具体场景:
以上是C# 7 中的'x is null”与'x == null”:什么时候应该使用哪个?的详细内容。更多信息请关注PHP中文网其他相关文章!