
null! Bedeutung des Operators
In C# 8.0 und seiner Funktion für nullfähige Referenztypen hat der !-Operator einen neuen Zweck, der als „nulltoleranter Operator“ bezeichnet wird. Wenn dieser Operator auf einen Typ angewendet wird, überschreibt er die NULL-Zulässigkeit des Werts und macht ihn somit nicht NULL-fähig. Das bedeutet, dass NULL zwar standardmäßig NULL-fähig ist, aber als „Nicht-Null“-Typ behandelt wird.
Praxisbeispiel
Stellen Sie sich eine Klasse vor, in der LastName Eigenschaften nullfähig sind und MiddleName Eigenschaften nicht nullbar sind:
<code class="language-csharp">public class Person
{
public string? LastName { get; set; }
public string MiddleName { get; set; } = null!;
}</code>Unterschied zwischen der ersten und zweiten Zeile
LastName ist nullbar, sodass sie einen Nullwert enthalten kann, der durch den Operator ? dargestellt wird. MiddleName-Attribute sind nicht nullbar und werden durch ! dargestellt. Das bedeutet, dass es keine Nullwerte enthalten kann. Der null!-Ausdruck überschreibt diese Nicht-Nullbarkeit jedoch explizit und behandelt Null als einen Nicht-Null-Wert. Technische Erklärung
C# 8.0 führte „Nullsicherheit“ ein, bei der alle Referenztypen standardmäßig nicht nullbar sind. Um einen nullbaren Typ darzustellen, muss der Operator ? verwendet werden. Umgekehrt kann der Operator ! auf Typen angewendet werden, die NULL-Werte zulassen, um die Nicht-NULL-Zulässigkeit anzugeben.
Notizen
!-Operator deaktiviert nur Prüfungen auf Compilerebene; wenn der Wert null ist, können weiterhin Laufzeitausnahmen auftreten. Das obige ist der detaillierte Inhalt vonWas bedeutet der Operator „!' (Nullverzeihend) in C# 8.0?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Gängige Codierungsmethoden
Taobao passwortfreie Zahlung
Fall bei Verwendung von SQL
Was soll ich tun, wenn die temporäre PS-Festplatte voll ist?
So stellen Sie Daten von einer mobilen Festplatte wieder her
Was passiert, wenn die IP-Adresse nicht verfügbar ist?
Selbststudium für Anfänger in C-Sprache ohne Grundkenntnisse
window.prompt