區分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中文網其他相關文章!