Déclarer des variables locales implicitement typées
Le compilateur C# s’exécute en arrière-plan pour vous aider à écrire votre code. Il peut déduire le type de données de votre variable en fonction de sa valeur initialisée. Dans cette unité, vous allez découvrir cette fonctionnalité, appelée « variables locales implicitement typées ».
Que sont les variables locales implicitement typées ?
Une variable locale implicitement typée est créée avec le mot clé var
suivi d’une initialisation de la variable. Par exemple :
var message = "Hello world!";
Dans cet exemple, une variable de chaîne a été créée avec le mot clé var
au lieu du mot clé string
.
Le mot clé var
indique au compilateur C# que le type de données est implicite par rapport à la valeur affectée. Une fois le type déduit, la variable fonctionne de la même manière que si le type de données réel avait été utilisé pour la déclarer. Le mot clé var
est utilisé pour enregistrer les séquences de touches lorsque les types sont longs ou que le type est évident par rapport au contexte.
Dans l’exemple :
var message = "Hello world!";
Étant donné que la variable message
est immédiatement définie sur la valeur string
"Hello World!"
, le compilateur C# comprend l’intention et traite chaque instance de message
comme une instance de type string
.
En fait, la variable message
est typée pour être une valeur string
et ne peut jamais être changée. Considérons par exemple le code suivant :
var message = "Hello World!";
message = 10.703m;
Si vous exécutez ce code, le message d’erreur suivant s’affiche.
(2,11): error CS0029: Cannot implicitly convert type 'decimal' to 'string'
Notes
D’autres langages de programmation utilisent le mot clé var
différemment. En C#, c’est le compilateur qui affecte un type aux variables, que vous utilisiez ou non le nom du type de données réel ou que vous autorisiez ou non le compilateur à définir implicitement le type de données. En d’autres termes, le type est verrouillé au moment de la déclaration et ne pourra donc jamais contenir des valeurs d’un type de données différent.
Les variables utilisant le mot clé var
doivent être initialisées
Il est important de comprendre que le mot clé var
dépend de la valeur que vous utilisez pour initialiser la variable. Si vous essayez d’utiliser le mot clé var
sans initialiser la variable, une erreur s’affiche quand vous tentez de compiler votre code.
var message;
Si vous tentez d’exécuter ce code, lors de sa compilation, la sortie suivante s’affiche :
(1,5): error CS0818: Implicitly-typed variables must be initialized
Pourquoi utiliser le mot clé var
?
Le mot clé var
a été largement adopté dans la communauté C#. Dans les exemples de code fournis dans les manuels ou en ligne, vous verrez souvent le mot clé var
utilisé à la place du nom du type de données réel. Il est donc important de bien comprendre l’utilisation de ce mot clé.
Le mot clé var
est très utilisé en C#. Souvent, il est facile de déterminer le type d’une variable d’après son initialisation. Dans ces cas de figure, il est plus simple d’utiliser le mot clé var
. Le mot clé var
peut également être utile pour la planification du code d’une application. Quand vous commencez à développer du code pour une tâche, il se peut que vous ne sachiez pas immédiatement quel type de données utiliser. Utiliser var
peut vous aider à développer votre solution de manière plus dynamique.
Au début, il est recommandé de continuer à utiliser le nom du type de données réel lorsque vous déclarez des variables, et ce jusqu’à ce que vous soyez plus à l’aise avec le code. L’utilisation du type de données quand vous déclarez des variables vous aide à être déterminé au moment où vous écrivez votre code.
Récapitulatif
Voici ce que vous avez appris sur le mot clé var
jusqu’à présent :
- Le mot clé
var
indique au compilateur de déduire le type de données de la variable en fonction de la valeur d’initialisation. - Vous verrez probablement le mot clé
var
lorsque vous lisez le code d’autres personnes. Toutefois, vous devez utiliser le type de données lorsque cela est possible.