Heim > Backend-Entwicklung > C++ > Was macht der C#-Operator „null!' und wann sollten Sie ihn verwenden?

Was macht der C#-Operator „null!' und wann sollten Sie ihn verwenden?

Mary-Kate Olsen
Freigeben: 2025-01-09 10:15:42
Original
128 Leute haben es durchsucht

What Does the C# `null!` Operator Do and When Should You Use It?

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>
Nach dem Login kopieren

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:

  • Wenn der Compiler nicht erkennen kann, dass ein NULL-Wert tatsächlich nicht NULL-fähig ist.
  • Beim Migrieren von altem Code, der auf nullbaren Typen basiert.
  • In manchen Fällen möchten Sie Nullfähigkeitsprüfungen ignorieren und Nullwerte explizit behandeln.
  • Simulieren Sie Nullszenarien in Testfällen, ohne Fehler bei der Kompilierung zu verursachen.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage