Ich würde gerne wissen, ob die folgenden Aussagen jemals ein anderes Ergebnis für Referenztypen liefern, oder sind sie identisch?
Wenn sie identisch sind, könnten Sie in diesem Beispiel immer den Standardwert (T) verwenden, wenn der Standardwert von T ausgegeben werden soll:
%Vor%Am besten testen, ob Ein generischer Typ ist eine Zeichenfolge? (c #)
ta!
Bei Referenztypen ist default(T)
Null, während CreateInstance
tatsächlich ein neues Objekt vom Typ T zurückgibt (oder fehlschlägt, wenn kein geeigneter Konstruktor vorhanden ist), so dass das Ergebnis niemals identisch ist.
default(T)
gibt null
für Referenztypen zurück. Activator.CreateInstance<T>()
wird nicht. A string
ist ein Referenztyp in .NET.