Comme tous les langages de programmations, le C# va pouvoir conserver des données grâce à des variables. Ce sont en fait des
blocs de mémoire qui vont contenir des nombres, des chaines de caractères, des dates ou plein d’autres choses.
Les variables vont nous permettre d’effectuer des calculs mathématiques, d’enregistrer l’âge du visiteur, de comparer des valeurs, etc.
On peut les comparer à des petits classeurs possédant une étiquette. On va pouvoir mettre des choses dans ces classeurs, par exemple, je mets 30 dans le classeur étiqueté « âge de Nicolas » et 20 dans le classeur « âge de Jérémie ». Si je veux connaitre l’âge de Nicolas, je n’ai qu’à regarder dans ce classeur pour obtenir 30. Je peux également remplacer ce qu’il y a dans mon classeur par autre chose, par exemple changer 30 en 25. Je ne peux par contre pas mettre deux choses dans mon classeur, il n’a qu’un seul emplacement.
Une variable est représentée par son
nom, caractérisée par son
type et contient une
valeur.
Le type correspond à ce que la variable représente : un entier, une chaine de caractères, une date, etc …
Par exemple, l’âge d’une personne pourrait être stockée sous la forme d’un entier et accessible par la variable « age », ce qui s’écrit en C# :
Code : C#
On appelle ceci « la déclaration de la variable age ».
Le mot clé
int permet d’indiquer au compilateur que la variable « age » est un entier numérique.
int correspond au début d’ « integer » qui veut dire « entier » en anglais.
Ici, la variable « age » n’a pas été initialisée, elle ne pourra pas être utilisée car le compilateur ne sait pas quelle valeur il y a dans la variable age.
Pour l’initialiser (on parle également « d’affecter une valeur ») on utilisera l’opérateur égal (« = »).
Code : C#
Notre variable « age » possède désormais l’entier numérique « 30 » comme valeur.
L’initialisation d’une variable peut également se faire au même moment que sa déclaration. Ainsi, on pourra remplacer le code précédent par :
Code : C#
Pour déclarer une variable en C#, on commence toujours par indiquer son type (
int, ici un entier) et son nom (age). Il faudra impérativement affecter une valeur à cette variable avec l’opérateur « = », soit sur la même instruction que la déclaration, soit un peu plus loin dans le code, mais dans tous les cas, avant l’utilisation de cette variable.
Nous pouvons à tout moment demander la valeur contenue dans la variable age, par exemple :
Code : C# | int age = 30;
Console.WriteLine(age); // affiche 30
|
Il est possible de modifier la valeur de la variable à n’importe quel moment grâce à l’emploi de l’opérateur = que nous avons aperçu :
Code : C# | int age = 30;
Console.WriteLine(age); // affiche 30
age = 20;
Console.WriteLine(age); // affiche 20
|
Vous pouvez nommer vos variables à peu près n’importe comment, à quelques détails près. Les noms de variables ne peuvent pas avoir le même nom qu’un type. Il sera alors impossible d’appeler une variable
int. Il est également impossible d’utiliser des caractères spéciaux, comme des espaces ou des caractères de ponctuation. De même, on ne pourra pas nommer une variable en commençant par des chiffres.
En général, une variable commence par une minuscule et si son nom représente plusieurs mots, on démarrera un nouveau mot par une majuscule. Par exemple :
Code : C#
C’est ce qu’on appelle le
camel case.
Attention, suivant le principe de sensibilité à la casse, il faut faire attention car
ageduvisiteur et
ageDuVisiteur seront deux variables différentes :
Code : C# | int ageduvisiteur = 30;
int ageDuVisiteur = 20;
Console.WriteLine(ageduvisiteur); // affiche 30
Console.WriteLine(ageDuVisiteur); // affiche 20
|
A noter un détail qui peut paraitre évident, mais toutes les variables sont réinitialisées à chaque nouvelle exécution du programme. Dès qu’on démarre le programme, les classeurs sont vidés, comme si on emménageait dans des nouveaux locaux à chaque fois. Il est donc impossible de faire persister une information entre deux exécutions du programme en utilisant des variables. Pour ceci, on utilisera d’autres solutions, comme enregistrer des valeurs dans un fichier ou dans une base de données. Nous y reviendrons ultérieurement.