Warum gibt Visual Studio ein neu erstelltes Array als Nullable ein?
In C# leitet die Verwendung des Schlüsselworts var für Variablen von Referenztypen a ab Nullable-Referenztyp, wie im C#-Spezifikationsvorschlag angegeben. Das bedeutet, dass für Code wie:
var zeroBased = new TVal[size];
Visual Studio Folgendes vorschlägt:
TVal[]? zeroBased = new TVal[size];
Das ? Der Operator gibt an, dass der Typ möglicherweise NULL-Werte zulässt. Sie können jedoch davon ausgehen, dass mit new erstellte Arrays niemals null sind. Daher könnten Sie möglicherweise schreiben:
TVal[] zeroBased = new TVal[size];
Kann ein mit new in C# instanziiertes Array jemals null zurückgeben?
Szenarien
Eins Ein Szenario, in dem ein Array möglicherweise NULL-Werte zulässt, liegt vor, wenn es einer Variablen eines Typs zugewiesen wird, der NULL-Werte zulässt. Beispiel:
TVal[]? nullableArray = new TVal[size];
In diesem Fall ist das Array explizit nullbar und sein Wert kann auf null gesetzt werden.
Ein anderes Szenario ist die Verwendung von „Default“, wodurch ein Standardwert für erstellt wird der Typ. Bei Arrays bedeutet dies ein Array mit einer Länge von Null und Nullelementen.
TVal[]? defaultArray = default;
Daher empfiehlt es sich, beim Erstellen von Arrays den expliziten Typ zu verwenden, insbesondere wenn Sie mit Nullable-Referenztypen arbeiten, um dies zu vermeiden potenzielle Nullwerte.
Das obige ist der detaillierte Inhalt vonWarum schlägt Visual Studio einen Nullable-Typ für ein neu erstelltes Array in C# vor?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!