Was bedeutet "DateTime?" In C #?
Ich lese ein .Net-book, und in eine code-Beispiele gibt es eine Klassendefinition mit diesem Feld:
private DateTime? startdate
Was bedeutet DateTime?
bedeuten?
InformationsquelleAutor der Frage Alvin S | 2008-09-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seit
DateTime
ist einstruct
nicht einclass
erhalten Sie eineDateTime
Objektnicht ein Referenzwenn Sie deklarieren ein Feld oder eine variable dieses Typs. Und, in der gleichen Weise wie einint
nichtnull
so können dieseDateTime
Objekt niemals null sein, weil es keine Referenz.Hinzufügen das Fragezeichen verwandelt es in eine nullable-Typwas bedeutet, dass entweder es ist ein
DateTime
Objekt oder es istnull
.DateTime?
ist syntaktischer Zucker fürNullable<DateTime>
woNullable
ist selbst einstruct
.InformationsquelleAutor der Antwort Thomas
Es ist ein nullable DateTime.
?
nach einem primitiven Typ/Struktur zeigt, dass es die nullable-version.DateTime ist eine Struktur, kann nie null sein. Von MSDN:
DateTime?
null sein kann, jedoch.InformationsquelleAutor der Antwort Daniel Auger
Einen ? als suffix für einen Wert geben können, für null-Zuordnungen, wäre othwerwise unmöglich.
http://msdn.microsoft.com/en-us/library/b3h38hb0.aspx
Dies bedeutet, dass können Sie schreiben etwas wie dieses:
DateTime? ist syntatically entspricht Nullable<DateTime>.
InformationsquelleAutor der Antwort Jorge Ferreira
Es ist gleichbedeutend mit der Nullable< DateTime>. Sie können den anfügen von "?" zu jedem primitiven Typ oder Struktur.
InformationsquelleAutor der Antwort Ted Elliott
im Grunde gibt Ihnen ein extra-Staat für die "primitiven". Es kann ein Wert oder null sein. Es kann nützlich sein in Situationen, in denen ein Wert nicht zugewiesen werden müssen. Also anstatt zum Beispiel datetime.min oder max, können Sie es null zu stellen ohne Wert.
InformationsquelleAutor der Antwort mattlant
Wie wir wissen, DateTime ist eine Struktur, bedeutet DateTime einen Wert geben, so erhalten Sie ein DateTime-Objekt, keine Referenz, da DateTime nicht eine Klasse, wenn Sie deklarieren ein Feld oder eine variable dieses Typs kann man nicht initial mit Wert null, Weil die Typen nicht akzeptieren null. In der gleichen Weise wie ein int und darf nicht null sein. so DateTime-Objekt niemals null sein, weil es keine Referenz.
Aber manchmal müssen wir nullable-variable oder-Feld der Wert-Typen, die wir mit Fragezeichen zu machen nullable-Typ, so dass Sie null zulassen.
Zum Beispiel:-
DateTime? Datum = null;
int? intvalue = null;
In obigen code die variable Datum ist ein Objekt DateTime oder Sie ist null. Gleiche für intvalue.
InformationsquelleAutor der Antwort Sonu Rajpoot