Wie konvertiere ich eine nullable int
zu einer int
? Angenommen, ich habe 2 Arten von int wie unten:
int? v1;
int v2;
Ich möchte zuweisen v1
Wert auf v2
. v2 = v1;
wird einen Fehler verursachen. Wie kann ich konvertieren v1
a v2
?
Wie konvertiere ich eine nullable int
zu einer int
? Angenommen, ich habe 2 Arten von int wie unten:
int? v1;
int v2;
Ich möchte zuweisen v1
Wert auf v2
. v2 = v1;
wird einen Fehler verursachen. Wie kann ich konvertieren v1
a v2
?
In C# 7.1 und höher kann der Typ mit Hilfe der Methode default
wörtlich anstelle der default
Betreiber so kann es wie folgt geschrieben werden:
v2 = v1 ?? default;
Eine einfache Umrechnung zwischen v1
y v2
ist nicht möglich, weil v1
hat einen größeren Wertebereich als v2
. Es ist alles v1
halten kann, plus die null
Zustand. Um zu konvertieren, müssen Sie explizit angeben, welcher Wert in int
wird verwendet, um die null
Zustand. Der einfachste Weg, dies zu tun, ist die ??
Betreiber
v2 = v1 ?? 0; // maps null of v1 to 0
Dies kann auch in Langform geschehen
int v2;
if (v1.HasValue) {
v2 = v1.Value;
} else {
v2 = 0;
}
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
4 Stimmen
Was ist das gewünschte Verhalten, wenn
v1
esnull
?