Cours

C# Leçon 2

Variables et types

En C#, chaque variable a un type fixe. Découvre les types de base, var, et comment lire ce que tape l'utilisateur.

20 min

À la fin de cette leçon, tu sauras

  • Déclarer des variables avec leur type
  • Assembler du texte avec l'interpolation $""
  • Lire une saisie et la convertir en nombre

Déclarer une variable

En C#, on indique le type de la variable avant son nom. Une fois déclarée, elle ne peut contenir que ce type.

string prenom = "Léa";
int age = 18;
double taille = 1.68;
bool estInscrit = true;
char initiale = 'L';
  • string : un texte, entre guillemets doubles ;
  • int : un nombre entier ;
  • double : un nombre à virgule (avec un point) ;
  • bool : true ou false ;
  • char : un seul caractère, entre apostrophes.

Écrire age = "dix-huit"; provoque une erreur dès la compilation : c'est l'intérêt d'un langage typé, il repère ces erreurs avant même de lancer le programme.

Avec var, C# devine le type tout seul à partir de la valeur : var ville = "Chartres"; crée un string.

Assembler du texte

Console.WriteLine("J'ai " + age + " ans.");
Console.WriteLine($"Je m'appelle {prenom} et j'ai {age} ans.");

La deuxième forme, avec un $ devant les guillemets et les variables entre accolades, s'appelle l'interpolation. Elle est plus lisible, c'est celle qu'on utilise le plus.

Lire ce que tape l'utilisateur

Console.Write("Quel âge as-tu ? ");
string saisie = Console.ReadLine();
int annees = int.Parse(saisie);
Console.WriteLine($"Dans 10 ans, tu auras {annees + 10} ans.");

Console.ReadLine() renvoie toujours un string. Pour calculer, on le convertit en nombre avec int.Parse.

Attention : si l'utilisateur tape « abc », int.Parse plante le programme. La version sûre est int.TryParse(saisie, out int annees), qui renvoie false au lieu de planter.

À toi de jouer

  • déclare une variable string nommée prenom ;
  • déclare une variable int nommée age ;
  • affiche une phrase avec les deux variables en utilisant l'interpolation $"…{…}…".
Program.cs
  • prenom est déclaré comme string
  • age est déclaré comme int
  • Console.WriteLine utilise l'interpolation $"…"
  • La phrase contient {prenom} et {age}
Bloqué ? Voir une solution
string prenom = "Léa";
int age = 18;

Console.WriteLine($"Je m'appelle {prenom} et j'ai {age} ans.");

Quiz

1Quel type pour stocker 19.99 ?
2Que renvoie Console.ReadLine() ?
3Avec int x = 4;, qu'affiche Console.WriteLine($"{x * 2}"); ?