So erstellen Sie eine Struktur mit dem Wert null support?
Ich bin neu in C#. In c# kann ich nicht mit dem Wert einer Struktur auf null, wie kann ich erstellen Sie eine Struktur mit dem Wert null support?
Sie fast sicher sollte nicht mit einem struct in den ersten Platz.
Gibt es einen zwingenden Grund, dies nicht als Klasse definiert statt?
Gibt es einen zwingenden Grund, dies nicht als Klasse definiert statt?
InformationsquelleAutor Hamed | 2011-07-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Strukturen und Wert-Typen gemacht werden können nullable durch Verwendung der Generischen Nullable<> - Klasse, um wickeln Sie es. Zum Beispiel:
C# bietet eine Sprache-Funktion, indem ein Fragezeichen hinter dem Typ:
Gleiche Arbeit sollte für einen beliebigen Wert geben, einschließlich Strukturen.
MSDN-Erklärung: Nullable Types (c#)
InformationsquelleAutor MrWednesday
Können Sie
Nullable<T>
hat einen alias in C#. Beachten Sie, dass die Struktur selbst ist nicht wirklich null (der compiler behandelt Die null anders hinter den kulissen). Es ist eher ein Option geben.Als @CodeInChaos erwähnt
Nullable<T>
ist nur boxed, wenn es in einem nicht-null-Status.Nullable-Typen
Boxen Nullable-Typen
Nullable<T>
ist nicht nur compilermagic. Es unterstützt durch die CLR auch Magie. Zum Beispiel einnull
nullable Felder realnull
.InformationsquelleAutor ChaosPandion
können Sie
Nullable<T>
für structs, oder die Kurzform (?) der gleichen:InformationsquelleAutor BrokenGlass
Da die "Struktur" ist nicht ein Typ der Referenz, die Sie nicht zuordnen können "null" wie gewohnt. so müssen Sie verwenden folgende form, um es "nullable"
[Struct Name]? [Variable Name] = null
zB.
dann können Sie zuweisen einen null-Wert für das Objekt, und prüfen Sie auch die Zulässigkeit der Verwendung von bedingten Anweisungen.
InformationsquelleAutor Sandaru