Unterscheidung von „x ist null“ von „x == null“ in C# 7
C# 7 führt den Operator „x ist null“ ein als Alternative zu „x == null“. Während der neue Operator wie eine bloße syntaktische Variation erscheinen mag, gibt es subtile Unterschiede zwischen den beiden, die sich darauf auswirken, wann und wie sie verwendet werden sollten.
Sind die Semantik unterschiedlich?
Nein. Die Semantik von „x ist null“ und „x == null“ ist für Nullvergleiche identisch. Der Operator „x ist null“ berücksichtigt jedoch beim Vergleich mit Konstanten den Typ. Dies kann beim Vergleich mit benutzerdefinierten Typen, die den Gleichheitsoperator überlasten, zu einem anderen Verhalten als „x == null“ führen.
Auswirkungen auf die Leistung
In früheren Roslyn-Compilerversionen , „x == null“ war schneller als „x ist null“. Durch Optimierungen im neuesten Roslyn-Compiler sind die beiden Operatoren jedoch gleich effizient, wenn kein überladener Gleichheitsoperator vorhanden ist.
Entscheidung, welcher Operator verwendet werden soll
Die Wahl zwischen „ x ist null“ und „x == null“ hängt vom jeweiligen Szenario ab:
Das obige ist der detaillierte Inhalt von„x ist null' vs. „x == null' in C# 7: Wann sollten Sie welches verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!