Maison > Article > développement back-end > Quelle est la différence entre var et dynamique en C# ?
En C#, les mots-clés var et Dynamic peuvent déclarer des variables typées dynamiquement. Parfois, ils sont facilement confondus, mais ils sont essentiellement différents. L'article suivant vous présentera la différence entre les mots-clés var et Dynamic en C#. J'espère qu'il vous sera utile. [Recommandation du didacticiel vidéo : Tutoriel C#]
Mot clé C# var
var est un nouveau type de définition de variable dans la version 3.5 : type implicite ; il peut être utilisé pour définir des variables locales implicitement typées, et VAR peut remplacer n'importe quel type.
Les variables typées implicitement sont des variables déclarées sans spécifier explicitement le type de données. Dans une variable implicitement typée, le compilateur déduit automatiquement le type de la variable au moment de la compilation à partir de la valeur utilisée pour initialiser la variable. Le concept de variables implicitement typées a été introduit en C# 3.0. Les variables typées implicitement ne sont pas conçues pour remplacer les déclarations de variables ordinaires, elles sont conçues pour gérer certains cas particuliers, tels que LINQ (Language Integrated Query).
Exemple :
using System; class A{ // Main方法 static public void Main() { // 使用var关键字创建和初始化隐式类型变量 var a = 'f'; var b = "php"; var c = 30.67d; var d = false; var e = 54544; // 输出类型 Console.WriteLine("'a'的类型是: {0} ", a.GetType()); Console.WriteLine("'b'的类型是: {0} ", b.GetType()); Console.WriteLine("'c'的类型是: {0} ", c.GetType()); Console.WriteLine("'d'的类型是: {0} ", d.GetType()); Console.WriteLine("'e'的类型是: {0} ", e.GetType()); } }
Sortie :
'a'的类型是: System.Char 'b'的类型是: System.String 'c'的类型是: System.Double 'd'的类型是: System.Boolean 'e'的类型是: System.Int32
Mot clé dynamique C#
dynamic est un nouveau type de définition de variable dans la version 4.0 : le type dynamique est utilisé pour éviter la vérification du type au moment de la compilation. Le compilateur ne vérifie pas le type d'une variable typée dynamiquement au moment de la compilation, mais obtient le type au moment de l'exécution. Les variables typées dynamiquement sont créées à l'aide du mot-clé dynamique.
Exemple :
using System; class A { // Main方法 static public void Main() { // 使用dynamic关键字创建和初始化隐式类型变量 dynamic val1 = 'a'; dynamic val2 = "hello"; dynamic val3 = 3234; dynamic val4 = 32.55; dynamic val5 = true; // 输出类型 Console.WriteLine("val1的实际类型是:{0}", val1.GetType().ToString()); Console.WriteLine("val2的实际类型是:{0}", val2.GetType().ToString()); Console.WriteLine("val3的实际类型是:{0}", val3.GetType().ToString()); Console.WriteLine("val4的实际类型是:{0}", val4.GetType().ToString()); Console.WriteLine("val5的实际类型是:{0}", val5.GetType().ToString()); } }
Sortie :
val1的实际类型是:System.Char val2的实际类型是:System.String val3的实际类型是:System.Int32 val4的实际类型是:System.Double val5的实际类型是:System.Boolean
Différence entre les mots-clés var et Dynamic en C# Qu'est-ce que il?
1. Variables déclarées
Le mot-clé var a été introduit en C# 3.0 Les variables déclarées sont des types statiques. le compilateur au moment de la compilation.
Le mot-clé dynamique a été introduit dans C# 4.0. Les variables déclarées sont typées dynamiquement et le type de la variable est déterminé par le compilateur au moment de l'exécution.
2. Initialisation
Les variables déclarées avec le mot-clé var doivent être initialisées lors de leur déclaration, afin que le compilateur détermine le type de la variable en fonction de la valeur initialisée. Si la variable n'est pas initialisée, une erreur est générée.
Les variables déclarées avec le mot-clé dynamique n'ont pas besoin d'initialiser les variables de ce type lorsqu'elles sont déclarées, car le compilateur ne connaît pas le type de la variable au moment de la compilation. Si la variable n'est pas initialisée, aucune erreur ne sera générée.
3. Prise en charge d'IntelliSense
Le mot-clé var prend en charge IntelliSense dans Visual Studio. Le mot-clé dynamique ne prend pas en charge intelliSense dans Visual Studio
4. Application
Le mot-clé var ne peut pas être utilisé pour les attributs ou pour renvoyer des valeurs de fonctions. Elle ne peut être utilisée que comme variable locale dans une fonction.
Le mot-clé dynamique peut être utilisé pour les propriétés ou pour renvoyer des valeurs à partir de fonctions.
Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!