2 Stimmen

Was ist der einfachste Weg, um festzustellen, ob das angegebene Objekt ein Wert- oder Verweistyp in .NET ist?

Wie kann man überprüfen, ob ein Objekt ein Werttyp oder ein Referenztyp ist?

7voto

Andrew Hare Punkte 332190

Verwenden Sie IsValueType so:

if (yourObject.GetType().IsValueType) {
    // es handelt sich um einen Werttyp
} else {
    // es handelt sich um einen Verweistyp
}

7voto

Cheng Chen Punkte 40879
o.GetType().IsValueType

2voto

alansiqueira27 Punkte 7373

Sie haben bereits geantwortet, aber vergessen Sie nicht, dass, wenn ein Objekt eine Instanz einer Klasse ist, dann ist es ein Referenztyp, und wenn ein Objekt eine "Instanz" einer Struktur ist, dann ist es ein Werttyp. Aber es gibt eine Ausnahme. String ist ein Referenztyp, verhält sich jedoch wie ein Werttyp aufgrund seiner Unveränderlichkeit.

1 Stimmen

Auf welche Weise verhält sich string wie ein Werttyp?

1 Stimmen

Wenn Sie einen String als Argument an eine Methode übergeben und diesen ändern, bleibt der Stringwert nach Abschluss der Methode immer noch der Originalwert, sodass keine Änderung erfolgt, die die Methode vorgenommen hat.

CodeJaeger.com

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.

Powered by:

X