Sobes.tech
Middle

Quelle est la différence entre var et dynamic en C#?

sobes.tech IA

Réponse de l'IA

var est utilisé pour la typage implicite des variables locales. Le compilateur détermine le type lors de la compilation.

dynamic est utilisé pour travailler avec des objets dont le type n'est connu qu'à l'exécution. La vérification du type et l'appel des méthodes se produisent à l'exécution.

Caractéristique var dynamic
Typage Statique (compilation) Dynamique (exécution)
Vérification du type En compilation En exécution
Performance Élevée (type défini) Inférieure (analyse requise en exécution)
Restrictions Seulement pour variables locales Pour variables, champs, propriétés, paramètres
Application Commodité, réduction du code Interaction avec COM, DLR, Reflection

Exemple avec var:

// Le compilateur détermine que x est de type int
var x = 10;
// Erreur de compilation, car x est défini comme int
// x = "bonjour";

Exemple avec dynamic:

// Le type y est déterminé en temps d'exécution
dynamic y = 10;
// Pas d'erreur de compilation, car la vérification se fait en temps d'exécution
y = "bonjour";
// Appel d'une méthode qui peut ne pas exister; l'erreur peut survenir en temps d'exécution
// y.Methode();