Detailliertes Verständnis der C#-Null!-Anweisung
Die null!
-Anweisung in C# 8.0 ist ein leistungsstarkes Tool, mit dem Entwickler Nullreferenzprüfungen für bestimmte Ausdrücke unterdrücken können. Vor der Anwendung ist es jedoch wichtig zu verstehen, wie es funktioniert und welche Auswirkungen es hat.
Nulltoleranzoperator
Dienull!
-Anweisung verwendet den nulltoleranten Operator (!
). Dieser Operator hat je nach Kontext eine doppelte Funktionalität. Wenn es auf einen Typ angewendet wird, ändert es die NULL-Zulässigkeit des Typs von NULL-fähig in Nicht-NULL-fähig. Dies wird als nulltoleranter Operator bezeichnet.
Nullprüfung unterdrücken
Bei Anwendung auf einen Ausdruck (z. B. null!
) unterdrückt der nulltolerante Operator die Nullprüfung für diesen bestimmten Ausdruck. Dadurch wird die NULL-Zulässigkeit des Ausdrucks außer Kraft gesetzt, sodass er als nicht NULL-fähiger Wert für diesen bestimmten Vorgang verwendet werden kann.
Technische Erklärung
C# 8.0 führt Nullable-Referenztypen ein, um die Nullsicherheit zu verbessern. Standardmäßig sind alle Referenztypen nicht nullfähig, was bedeutet, dass sie keine Nullwerte enthalten können. Die Operatoren ?
und !
können diese Standardeinstellung überschreiben.
?
-Operator markiert einen Typ als nullfähig, sodass er Nullwerte enthalten kann. Andererseits markiert der !
-Operator einen Typ als nicht nullbar und stellt so sicher, dass er keine Nullwerte enthalten kann.
Wann sollte null! verwendet werden?
Die null!
-Anweisung sollte mit Vorsicht verwendet werden und eine übermäßige Verwendung sollte vermieden werden. Es wird hauptsächlich in den folgenden Szenarien verwendet:
Beispiel: Null!-Anweisung verstehen
In dem von Ihnen angegebenen Code:
FirstName { get; }
wird als nicht nullbare Zeichenfolge deklariert, was bedeutet, dass sie keine Nullwerte enthalten kann. LastName { get; } = null!
deklariert die Eigenschaft LastName
als nicht nullbar, obwohl ihr zunächst der Wert Null zugewiesen wurde. Durch die Verwendung von null!
können Sie die standardmäßige NULL-Zulässigkeit überschreiben und sicherstellen, dass diese Eigenschaft als nicht NULL-fähig behandelt wird. Das obige ist der detaillierte Inhalt vonWann und warum sollten Sie C# null verwenden? Operator?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!