Was ist der Zweck eines Fragezeichens nach einem Typ (zum Beispiel: int? MyVariable)?
In der Regel die hauptsächliche Verwendung der Fragezeichen ist für das bedingte x ? "yes" : "no"
.
Aber ich habe eine andere Verwendung für Sie, aber kann nicht finden, eine Erklärung für diese Nutzung der ?
Betreiber, zum Beispiel.
public int? myProperty
{
get;
set;
}
Kommentar zu dem Problem
mögliche Duplikate von Was bedeutet "DateTime?" bedeutet in C#?
InformationsquelleAutor der Frage GenEric35 | 2010-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es bedeutet, dass der Wert der in Rede stehenden Art ist eine nullable-Typ
InformationsquelleAutor der Antwort Sean
Es ist eine Kurzform für
Nullable<int>
.Nullable<T>
mit Wert-Typen können nicht null sein.InformationsquelleAutor der Antwort Klaus Byskov Pedersen
In
den ? erklärt ein wenn Satz. Hier: x repräsentiert die Boolesche Bedingung; Der Teil vor dem : ist die dann Satz und der Teil nach der sonst Satz.
In, zum Beispiel,
den ? deklariert einen nullable-Typ, und bedeutet, dass der Typ bevor es möglicherweise einen null-Wert.
InformationsquelleAutor der Antwort eKek0
InformationsquelleAutor der Antwort Ahmet Kakıcı
er erklärt, dass der Typ null-Werte zulässt.
InformationsquelleAutor der Antwort Thanos Papathanasiou
praktische Verwendung:
InformationsquelleAutor der Antwort A.J.Bauer
Hinzufügen auf der oben genannten Antworten, hier ist ein Codebeispiel
Dies würde zu einem Kompilierungsfehler:
Feststellen, dass es keine Kompilierungsfehler für NullableTest. (beachten Sie die ? in der Erklärung von t2)
InformationsquelleAutor der Antwort Sunil Purushothaman
Erstellen optional, fügen Sie ein ? nach der Art, die Sie wünschen zu wickeln. Jede Art kann optional auch Ihre eigenen benutzerdefinierten Typen. Man kann nicht ein Raum zwischen den Typ und die ?.
InformationsquelleAutor der Antwort Durgesh Pal