Conditions, boucles et méthodes
Ce que tu vas apprendre
- Décider quoi faire avec
if,elseetswitch. - Répéter une action avec
for,foreachetwhile. - Regrouper des instructions dans une méthode avec des paramètres et une valeur de retour.
Comparer des valeurs
Un programme prend des décisions à partir de conditions. Une condition est une expression dont le résultat est un bool, true ou false.
| Opérateur | Sens |
|---|---|
== | Égal à |
!= | Différent de |
< et > | Plus petit, plus grand |
<= et >= | Plus petit ou égal, plus grand ou égal |
&& | Et (les deux conditions) |
|| | Ou (au moins une) |
! | Non (inverse la condition) |
Attention : == compare, alors que = donne une valeur à une variable.
if et else
int minutes = 45;
if (minutes <= 15)
{
Console.WriteLine("Recette express");
}
else if (minutes <= 60)
{
Console.WriteLine("Recette normale");
}
else
{
Console.WriteLine("Recette longue");
}
Le programme teste les conditions dans l'ordre et exécute le premier bloc dont la condition est vraie. Les accolades délimitent le bloc.
Pour combiner deux conditions :
if (minutes <= 30 && vegetarien)
{
Console.WriteLine("Rapide et sans viande");
}
switch
Quand tu compares une même valeur à plusieurs cas, switch est plus clair qu'une suite de else if. La version moderne s'écrit comme une expression :
string categorie = "dessert";
string message = categorie switch
{
"entree" => "Pour commencer",
"plat" => "Le plat principal",
"dessert" => "Pour finir",
_ => "Catégorie inconnue"
};
Console.WriteLine(message);
Chaque ligne associe un cas à un résultat avec =>. Le tiret bas _ est le cas par défaut : il couvre tout ce qui n'est pas listé avant.
La boucle for
Une boucle répète des instructions. for convient quand tu sais combien de fois répéter :
for (int i = 1; i <= 3; i++)
{
Console.WriteLine($"Étape {i}");
}
Entre les parenthèses, il y a trois parties séparées par des points-virgules :
int i = 1est le départ : la variable de compteur.i <= 3est la condition pour continuer.i++augmente le compteur de 1 après chaque tour.
Le programme affiche Étape 1, Étape 2, Étape 3.
La boucle while
while répète tant qu'une condition reste vraie. Tu l'utilises quand tu ne connais pas le nombre de tours à l'avance :
int temperature = 20;
while (temperature < 180)
{
temperature += 40;
Console.WriteLine($"Le four chauffe : {temperature} degrés");
}
temperature += 40 fait avancer vers la sortie. Sans cette ligne, le programme tournerait sans fin ; dans ce cas, arrête-le avec Ctrl+C dans le terminal.La boucle foreach
foreach parcourt les éléments d'une série, un par un. Tu l'utiliseras surtout avec des listes, vues au chapitre suivant. Elle fonctionne aussi sur un tableau :
string[] ingredients = { "farine", "oeufs", "lait" };
foreach (string ingredient in ingredients)
{
Console.WriteLine($"- {ingredient}");
}
À chaque tour, la variable ingredient prend la valeur de l'élément suivant. Pas de compteur à gérer.
Écrire une méthode
Quand le même morceau de code revient souvent, tu le ranges dans une méthode : un bloc de code nommé que tu peux appeler quand tu veux.
static string Titre(string nom, int portions)
{
return $"{nom} ({portions} personnes)";
}
Console.WriteLine(Titre("Crêpes", 4));
Console.WriteLine(Titre("Gaufres", 6));
Décomposons la première ligne :
staticest nécessaire ici parce que la méthode est écrite dans un programme à instructions de niveau supérieur.stringest le type de la valeur renvoyée.Titreest le nom de la méthode.(string nom, int portions)sont les paramètres : les valeurs que l'appelant doit fournir.
Le mot-clé return renvoie le résultat et termine la méthode.
Méthode sans résultat
Quand une méthode ne renvoie rien, son type de retour est void :
static void AfficherEtapes(int nombre)
{
for (int i = 1; i <= nombre; i++)
{
Console.WriteLine($"Étape {i}");
}
}
AfficherEtapes(3);
Une méthode qui fait une seule chose et porte un nom clair rend le programme bien plus facile à relire.
Une méthode courte avec =>
Quand le corps tient en une expression, tu peux l'écrire avec => :
static double PrixParPart(double prix, int portions) => prix / portions;
Le résultat est identique à une méthode avec accolades et return.
AfficherEtapes, CalculerPrix. C'est la convention en C#.À retenir
- Une condition est un
bool. Compare avec==,!=,<,>et combine avec&&,||,!. if/else if/elsechoisit un bloc ;switchcompare une valeur à plusieurs cas et_sert de cas par défaut.forrépète un nombre connu de fois,whilerépète tant qu'une condition est vraie,foreachparcourt une série.- Une méthode a un type de retour, un nom, des paramètres et un corps ;
voidsignifie qu'elle ne renvoie rien. - Une méthode courte peut s'écrire
=> expression.
Pour aller plus loin
Sources officielles
Ensuite
Premier programme C#
Installer le SDK .NET, créer une application console avec dotnet new console, la lancer avec dotnet run, puis découvrir variables, types et chaînes interpolées.
Collections et exceptions
Stocker plusieurs valeurs avec List et Dictionary, puis gérer les erreurs d'exécution avec try, catch et finally.
- Projet
- Lignes de code
- Niveau
- Le quartier
- Appartement
- C#
- Pièce
- 2/7
- Plan n°
- csharp/02.conditions-boucles-methodes