Le quartierC# C#Pièce 2/7Débutant

Conditions, boucles et méthodes

Prendre des décisions avec if et switch, répéter avec for, foreach et while, et ranger son code dans des méthodes réutilisables.

Ce que tu vas apprendre

  • Décider quoi faire avec if, else et switch.
  • Répéter une action avec for, foreach et while.
  • 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érateurSens
==É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 :

  1. int i = 1 est le départ : la variable de compteur.
  2. i <= 3 est la condition pour continuer.
  3. 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");
}
Si la condition ne devient jamais fausse, la boucle ne s'arrête plus. Ici, 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 :

  1. static est nécessaire ici parce que la méthode est écrite dans un programme à instructions de niveau supérieur.
  2. string est le type de la valeur renvoyée.
  3. Titre est le nom de la méthode.
  4. (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.

Donne à tes méthodes un nom qui commence par un verbe en PascalCase (majuscule à chaque mot) : AfficherEtapes, CalculerPrix. C'est la convention en C#.

À retenir

  • Une condition est un bool. Compare avec ==, !=, <, > et combine avec &&, ||, !.
  • if / else if / else choisit un bloc ; switch compare une valeur à plusieurs cas et _ sert de cas par défaut.
  • for répète un nombre connu de fois, while répète tant qu'une condition est vraie, foreach parcourt une série.
  • Une méthode a un type de retour, un nom, des paramètres et un corps ; void signifie qu'elle ne renvoie rien.
  • Une méthode courte peut s'écrire => expression.

Pour aller plus loin

Sources officielles

Ensuite

Projet
Lignes de code
Niveau
Le quartier
Appartement
C#
Pièce
2/7
Plan n°
csharp/02.conditions-boucles-methodes
Lignes de code · fiches rédigées à partir des documentations officielles, sources citées en bas de chaque page.