2010-11-24 6 views

Antwort

7
o.GetType().IsValueType 
7

Verwenden IsValueType wie folgt aus:

if (yourObject.GetType().IsValueType) { 
    // it's a value type 
} else { 
    // it's a reference type 
} 
2

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

+1

Inwiefern verhält sich 'string' wie ein Werttyp? –

+1

Wenn Sie eine Zeichenfolge als Argument an eine Methode übergeben und diese nach Abschluss der Methode ändern, hat der Zeichenfolgenwert immer noch den ursprünglichen Wert, sodass er mit keiner Änderung der Methode abgeschlossen wird. – Seva

Verwandte Themen