Die Bedeutung der „null!“-Anweisung in C#
Verstehen Sie den „!“-Operator
C# 8.0 führt Nullable-Referenztypen ein und ermöglicht eine differenzierte Kontrolle über die Nullfähigkeit von Variablen und Referenztypen. Bei Anwendung auf einen Typ ändert der „!“-Operator (auch als „Null-Ignorier-Operator“ bekannt) den NULL-Zulässigkeitsstatus des Typs von nullfähig in nicht nullbar.
Verwendung von „null!“
Die „null!“-Anweisung wendet den „!“-Operator auf ein Nullliteral an und gibt an, dass Nullwerte als nicht nullbar behandelt werden sollten. Dadurch wird die standardmäßige NULL-Zulässigkeit des NULL-Literals außer Kraft gesetzt und der Compiler gezwungen, davon auszugehen, dass der Wert nicht NULL ist.
Typische Verwendung
Bedenken Sie den folgenden Code:
<code class="language-csharp">public class Person { public string? MiddleName; // 可空 public string LastName = null!; // 不可空 }</code>
In diesem Beispiel ist die Eigenschaft „MiddleName“ nullbar, was bedeutet, dass sie Nullwerte enthalten kann. Allerdings wird die Eigenschaft „LastName“ mit „null!“ als nicht nullbar markiert. Dies bedeutet, dass der Compiler erzwingt, dass die Eigenschaft „LastName“ niemals Null enthält, selbst wenn ihr ursprünglich der Wert Null zugewiesen wurde.
Technische Erklärung
Ab C# 8.0 sind alle Referenztypen standardmäßig nicht nullfähig. Mit dem „!“-Operator können Sie diese Einstellung überschreiben, sodass nullbare Typen nicht nullbar sind. Im Gegensatz dazu macht der „?“-Operator einen nicht nullbaren Typ nullbar.
Mit Vorsicht verwenden
Der „null!“-Operator sollte mit Vorsicht verwendet werden. Es überschreibt die Null-Sicherheitsüberprüfungen des Compilers, wodurch potenzielle Null-Referenz-Ausnahmen zur Laufzeit maskiert werden können. Sie sollten es nur verwenden, wenn Sie sicher sind, dass ein nullbarer Wert niemals null sein wird.
Alternativen
In den meisten Fällen ist es besser, eine Alternative zu verwenden, um die Verwendung des „Null!“-Operators zu vermeiden. Sie können beispielsweise nullfähige Typen und den Null-Koaleszenzoperator verwenden oder explizit nach Nullwerten suchen, bevor Sie darauf zugreifen.
Wann ist „null“ zu verwenden?
Der „null!“-Operator ist in bestimmten Situationen nützlich:
Das obige ist der detaillierte Inhalt vonWas macht der C#-Operator „null!' und wann sollten Sie ihn verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!