Ich weiß, dass Convert.ToString(obj)
einen Nullwert behandelt und ToString(obj)
keinen Nullwert. Es bedeutet, dass ein Fehler ausgegeben wird, wenn der obj-Wert null ist.
Es ist korrekt und funktioniert wie erwartet. Aber,
%Vor%Ich habe es so versucht. In diesem Fall wird jedoch kein Null-Referenz-Ausnahmefehler ausgegeben. Warum wird kein Null-Referenz-Ausnahmefehler ausgegeben? Kann jemand antworten?
Vorschläge willkommen.
Dies liegt daran, dass Nullable<int>
(was der Typ ist, für den int?
eine Abkürzung ist) eine Struktur ist und daher niemals null
.
int? c = null
weist c.Value
tatsächlich als Null
und nicht als c
selbst zu, also ist c.ToString()
immer noch eine gültige Operation.
Nullable<T>
ist ein Struktur- / Werttyp. Die tatsächliche Nullwert ist nicht null, aber der Wert ist. object
ist ein Klassen- / Referenztyp.
Tags und Links c#