Sobes.tech
Middle

Was ist der Unterschied zwischen var und dynamic in C#?

sobes.tech KI

Antwort von AI

var wird für die implizite Typisierung von lokalen Variablen verwendet. Der Compiler bestimmt den Typ zur Compile-Zeit.

dynamic wird verwendet, um mit Objekten zu arbeiten, deren Typ nur zur Laufzeit bekannt ist. Die Typüberprüfung und Methodenaufrufe erfolgen zur Laufzeit.

Merkmal var dynamic
Typisierung Statisch (Kompilierung) Dynamisch (Ausführung)
Typüberprüfung Zur Compile-Zeit Zur Laufzeit
Leistung Hoch (Typ festgelegt) Geringer (Analyse zur Laufzeit erforderlich)
Einschränkungen Nur für lokale Variablen Für Variablen, Felder, Eigenschaften, Parameter
Anwendung Bequemlichkeit, Codeverkürzung Interaktion mit COM, DLR, Reflection

Beispiel mit var:

// Der Compiler bestimmt, dass x vom Typ int ist
var x = 10;
// Kompilierungsfehler, da x als int definiert ist
// x = "Hallo";

Beispiel mit dynamic:

// Der Typ y wird zur Laufzeit bestimmt
dynamic y = 10;
// Kein Kompilierungsfehler, da die Überprüfung zur Laufzeit erfolgt
y = "Hallo";
// Aufruf einer Methode, die möglicherweise nicht existiert; Fehler kann zur Laufzeit auftreten
// y.IrgendeMethode();