Sind NULL-Typen Referenztypen?
Wenn ich erklären int
als null
int? i=null;
Tut i
hier werden eine Referenz geben?
InformationsquelleAutor der Frage Vaibhav Jain | 2010-06-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich erklären int
als null
int? i=null;
Tut i
hier werden eine Referenz geben?
InformationsquelleAutor der Frage Vaibhav Jain | 2010-06-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nein, eine null ist eine Struktur. Was passiert ist, dass die nullable-Struktur hat zwei Werte:
int
fürint?
DateTime
fürDateTime?
usw.).HasValue
ist die Eigenschaft.)Wenn Sie den Wert der Datentyp, die Struktur ändert sich
HasValue
zu wahren.Was ist eine null
InformationsquelleAutor der Antwort kemiller2002
Vom Nullable Types (C# Programming Guide):
und
So, Nein, Sie sind keine Referenztypen.
InformationsquelleAutor der Antwort ChrisF
Nullable-Typen sind weder Datentypen noch Referenztypen. Sie sind mehr wie Wert-Typen, habe aber noch ein paar Eigenschaften von Referenztypen.
Natürlich, nullable types kann festgelegt werden, um
null
. Darüber hinaus eine null-Typ nicht gerecht eine generischestruct
Einschränkung. Auch wenn Sie in der box eine nullable-Typ mitHasValue
gleichfalse
erhalten Sie einenull
pointer statt einem boxed nullable-Typ (eine ähnliche situation besteht mit unboxing).Diese Eigenschaften machen nullable Typen nicht Wert-Typen, aber Sie sicher nicht Referenz-Typen. Sie werden Ihre eigenen speziellen nullable-Wert-Typ.
InformationsquelleAutor der Antwort Stephen Cleary
Nein, das Nullable-Typ ist in der Tat eine Struktur. Die Laufzeit wird intelligent handhaben die Festlegung eines null-Wert für Sie, was das Aussehen eines Referenz-Typ, wenn es nicht ist....
InformationsquelleAutor der Antwort Matthew Abbott
Nullable Typen nicht-Referenz-Typen.
http://msdn.microsoft.com/en-us/library/2cf62fcy.aspx
InformationsquelleAutor der Antwort Damien Dennehy
Sollten Sie nicht brauchen, um eine Referenz geben Sie eine nullable-Typ, wie Sie können, übergeben Sie den Wert null an seiner Stelle.
InformationsquelleAutor der Antwort devlife