Les Variables
1 - Définition d’une variable
Une variable joue en C# le même rôle que dans tout autre langage : stocker une information.
Vous pouvez vous représenter une variable comme étant une boîte dans laquelle on met quelque chose, c’est-à-dire qu’on écrit quelque chose, ou dont on « apprend » quelque chose, c’est-à-dire qu’on lit ce quelque chose
Une variable ne peut contenir qu’une seule chose à la fois. Si vous mettez une seconde donnée dans une variable, la précédente est effacée.
Le nom d’une variable est appelé identificateur.
Les types de variables
| Type | Représente | Plage | Valeur par défaut |
|---|---|---|---|
| bool | booléen | True ou False | False |
| byte | 8 bits non signés | 0 à 255 | 0 |
| char | 16 bits Unicode | U +0000 à U +FFFF | ’\0’ |
| decimal | 128 bits | -7.9 x 1028 à +7.9 x 1028 | 0.0M |
| double | 64 bits | +/- 5 x 10324 à +1.7*10308 | 0.0D |
| float | 32 bits | 3.4 x 1038 à +3.4 x 1038 | 0.0F |
| int | 32 bits signés | 2147483648 à +2147483647 | 0 |
| long | 64 bits signés | +/- 9223372036854775808 environ | 0L |
| sbyte | 8 bits signés | -128 à +127 (0x7F) | 0 |
| short | 16 bits signés | 32768 à +32767 (0X7FFF) | 0 |
| uint | 32 bits non signés | 0 à 4294967295 (0xFFFFFFFF) | 0 |
| ulong | 64 bits non signés | 0 à 18446744073709551615 | 0 |
| ushort | 16 bits non singés | 0 à 65535 | 0 |
2 - Déclarer et initialiser les variables
Ce processus se passe en trois étapes :
- Choisir un type
- Donner un nom
- initialiser
| Choisir un type | Donner un nom | initialiser |
|---|---|---|
| int | nombreDeVisiteurs | 5000 |
| string | ours | Grizzly |
int nombreDeVisiteurs = 5000;
string ours = "Grizzly";
Déclarer et initialiser les chaînes de caractères
Exemple simple
string s = "Hello World"; // Hello World
Déclarer une chaîne entre guillemets
string s = "\"Hello\""; // "Hello"
Gestion des caractères protégés
string s = "Hello\nWorld"; // Hello World sur 2 lignes
Les chaînes @
string s = "c:\\Docs\\Source\\a.txt"; // Devient plutôt :
string s = @"c:\Docs\Source\a.txt";
3 - Les caractères spéciaux
Nous avons vu que pour faire un retour chariot, c’est-à-dire un retour à la ligne, nous pouvions utiliser
soit Console.WriteLine, mais le retour chariot n’a lieu qu’en fin de ligne obligatoirement,
soit \n que nous placions dans notre texte là où nous voulions faire un retour à la ligne.
Les caractères spéciaux commencent tous par le caractère de suffixe . Cela permet au compilateur de faire la différence par exemple entre \n et n. Il existe environ une dizaine de caractères spéciaux dont voici les principaux :
| type | Description |
|---|---|
\n |
fait un retour chariot |
\t |
fait une tabulation |
\’ |
permet de créer un caractère contenant la valeur du quote. |
\" |
affiche un guillemet. |
4 - Saisie de variables
En mode Console la saisie des variables se fait grâce à l’instruction
Console.ReadLine()
Ainsi le code suivant demande à l’utilisateur de saisir une variable qui sera stockée dans la variable s.
s = Console.ReadLine();
Le problème, c’est que
Console.ReadLine() ne renvoie qu’un type string.
int s = Console.ReadLine(); // Erreur de type
Les conversions
Ici, il ne s’agit pas de changer de religion 😁, mais de type
Dans sa forme générale, la saisie d’un int au clavier s’écriera :
string s = Console.ReadLine();
int i = Convert.ToInt32(s);
Dans sa forme abrégée, nous aurons :
int i = Convert.ToInt32(Console.ReadLine());
Ceci s’applique intelligemment à toutes les conversions autres que string.
TextBox.
5 - Opérations sur les nombres
Les opérateurs de bases en programmation sont les mêmes que les opérateurs mathématiques que vous employez depuis votre plus tendre enfance, à savoir :
a - les opérateurs de calcul
- l’opérateur
+pour l’addition : additionne 2 entiers entre eux - l’opérateur
–pour la soustraction : soustrait 2 entiers entre eux - l’opérateur
*pour la multiplication : multiplie 2 entiers entre eux - l’opérateur
/pour la division : divise le 1er entier par le 2d et tronque le résultat - l’opérateur
%qui permet de connaître le reste d’une division euclidienne (que vous n’avez probablement jamais vu)
Exemple d’utilisation :
int a = 2;
int b = 3;
int c = a + b; // c = 5
int d = c + 12; //d = 17
int e = a*b; //e = 3*2 = 6
int f = c%a; //5%2 = 1 car 5 = 2*2 + 1
Les Expressions sont évaluées en fonction de la précédence des opérateurs
int a = 10;
int b = 20;
int c = 5;
int g = a + b/c; //g = 14
Les parenthèses peuvent être utilisées pour contrôler l’ordre d’évaluation
int g = (a + b)/c;//g = 6
int g = a + (b/c); //g = 14
b - Les opérateurs d’affectation combinés
Il est ainsi possible d’affecter une variable et d’effectuer une opération en même temps (d’un point de vue uniquement visuel). Ces opérateurs sont
- +=,
- -=,`
- *=,
- /=,
- %=,
- ++,
- –.
Exemple d’utilisation :
int i = 0; //La variable doit avoir été initialisé au préalable.
i += 12; // i = i + 12;
i -= 12; // i = i – 12;
i *= 5; // i = i * 5;
i /= 5; // i = i / 5;
i %= 2; // i = i % 2;
i++; // i += 1; // i = i + 1;
i--; // i -= 1; // i = i – 1;
6 - Affichage de texte
L’affichage de texte s’effectue grâce à la commande Console.Write().
Console.WriteLine ("Hello, World");
Il existe en fait 2 méthodes d’affichage :
Console.Write(): affiche du texte et reste sur la même ligne,Console.WriteLine(): affiche du texte et fait un saut de ligne
7 - Concaténation
La concaténation est une opération visant à regrouper plusieurs chaînes de caractères entre elles.
a - La concaténation classique
Elle s’effectue par l’intermédiaire de l’opérateur + et ne peut avoir lieu qu’entre types string. Les autres opérateurs ne s’emploient pas sur les types string. On peut se représenter une concaténation comme étant une opération mettant bout à bout les chaînes de caractères (ou string) entre elles.
Exemple d’utilisation :
string a = "Coucou,";
string b = " c’est moi !";
string c = a + b;//c contient "Coucou, c’est moi !"
Console.WriteLine("Vous avez entré : " + c);//Vous avez entré : Coucou, c’est moi !
b - Le format composé
Il s’agit de créer un masque qui sera ensuite chargé par les variables. Reprenons l’exemple précédent
Console.WriteLine("Vous avez entré : {0}" , c);//Vous avez entré : Coucou, c’est moi !
Ici le caractère {0} va utiliser, la première variable qui se trouve après la virgule.
S’il existe plusieurs variables, il faut incrémenter les accolades :
Console.WriteLine("Vous avez entré : {0} {1}" , a, b);//Vous avez entré : Coucou, c’est moi !
c - l’interpolation de chaine $
Avec la même idée, il est possible de saisir uniquement le nom des variables. Vous conviendrez que c’est beaucoup plus facile à utiliser et à lire !
string d = $"Vous avez entré : {c}";//d contient "Vous avez entré : Coucou, c’est moi !"
On obtient le même résultat à l’affichage :
Console.WriteLine(d);//Vous avez entré : Coucou, c’est moi !
N’ajoutez pas d’espace entre les signes
$ et " au début d’un littéral de chaîne.