Chargement...

if et else

bool ready = true; range le mot true. Ensuite if (ready) regarde ce mot et n'exécute qu'un groupe de lignes. Quand ready est true, Console.WriteLine("pass") écrit pass. Quand ready est false, le groupe else s'exécute et écrit wait. L'écran tient sur une ligne. Gardez la classe publique nommée Pine.

Un bool décide quel bloc s'exécute

Ouvrez le fichier Pine. Le nom de la classe reste Pine. Cette page ne renomme pas le type. Supprimez bool both si cette ligne est encore là, y compris true && true, true || false, !true, et tout signe de combinaison entre deux mots true ou false. Supprimez bool match si cette ligne est encore là. Supprimez int total si cette ligne est encore là. Supprimez toute ligne ReadLine. Le fichier que vous gardez n'attend pas de saisie, n'a pas both, ni match, et n'écrit pas un mot combiné nu tout seul. L'écran n'est écrit que par une ligne d'écriture à l'intérieur des accolades choisies.

Dans Main, rangez un bool avant de choisir un chemin : bool ready = true;. bool est le mot de type. ready est le nom, et il commence par un r minuscule. Il n'y a pas de guillemets autour de true. Le point-virgule termine la ligne de rangement. Cette ligne n'écrit pas l'écran. Ensuite vient le choix :
if (ready) {
Console.WriteLine("pass");
} else {
Console.WriteLine("wait");
}
Le mot if est en minuscules : i, puis f. Ce n'est pas un nom que vous inventez. Un espace après if est permis ; if(ready) sans espace compile aussi. À l'intérieur des parenthèses se trouve le nom ready — pas de guillemets, pas de ==, pas de &&. Quand ready porte true, C# entre dans la première paire d'accolades et exécute Console.WriteLine("pass");. Les guillemets autour de pass marquent des lettres pour l'écran. Ces lettres — p, a, s, s — sont ce que vous devez voir, une ligne. Le bloc else est entièrement sauté sur cette exécution. Enregistrez le fichier.

Le fichier que vous gardez

Gardez cette forme d'enseignement. Un mot de type, bool. Un nom, ready, rangé comme true. Un if avec des parenthèses autour de ready. Une ligne d'écriture qui écrit pass à l'intérieur des premières accolades. Un else avec une ligne d'écriture qui écrit wait. Il n'y a pas de ligne both, pas de ligne match, et pas d'écriture du mot true nu hors des accolades.

ready is true

csharp
using System;

public class Pine
{
    public static void Main()
    {
        bool ready = true;
        if (ready)
        {
            Console.WriteLine("pass");
        }
        else
        {
            Console.WriteLine("wait");
        }
    }
}

Lisez depuis le haut. using System; prépare les noms courts. public class Pine nomme le type. public static void Main() est l'endroit où l'exécution démarre. bool ready = true; range true. Il n'écrit rien. if (ready) demande si ce mot rangé est true. Il l'est, donc Console.WriteLine("pass"); s'exécute. Les accolades else sont sautées. Une ligne à l'écran : pass. Pas de guillemets à l'écran. Pas de seconde ligne. Il n'y a pas de ligne bool both dans le fichier que vous gardez.

Exécutez avec dotnet run. Le programme écrit pass. Il n'attend pas que vous tapiez. Le mot rangé et le choix étaient déjà dans le fichier. Si dotnet run attend, ReadLine est encore dans le fichier. Supprimez cette ligne et gardez bool ready = true; et le if / else ci-dessus. Le programme se termine après la ligne d'écriture choisie. L'écran montre pass. Une ligne. Si l'écran montre true, vous écrivez encore le bool lui-même, ou une combinaison de la page logique est encore dans Main. Remplacez cela par Console.WriteLine("pass") à l'intérieur des accolades if quand ready est true. Si l'écran montre wait, ready est false, ce qui est le second fichier de cette page, pas le fichier que vous gardez. Si l'écran montre if (ready) comme lettres, une ligne d'écriture a des guillemets autour de ces caractères. Vous ne réinstallez pas le kit SDK .NET pour un écran qui montre la mauvaise ligne.

Pourquoi pass et pas wait ? Parce que le test entre parenthèses était true. C# n'écrit pas le mot true sur cette exécution. Il écrit la ligne d'écriture qui s'exécute à l'intérieur des accolades choisies. Pensez à trois rôles : les parenthèses tiennent le test, les accolades groupent les lignes qui vont ensemble, et Console.WriteLine est la seule partie qui écrit à l'écran. Un écran qui montre pass ne prouve pas à lui seul le if. Cherchez if (ready) et les accolades dans le fichier. Ne jugez pas le fichier à partir de l'écran seul.

Quand ready est false

Changez seulement la valeur rangée : bool ready = false;. Laissez la structure if / else telle quelle. Maintenant le test échoue, donc C# saute les premières accolades et exécute les accolades else à la place. L'écran doit montrer wait, une ligne.

ready is false

csharp
using System;

public class Pine
{
    public static void Main()
    {
        bool ready = false;
        if (ready)
        {
            Console.WriteLine("pass");
        }
        else
        {
            Console.WriteLine("wait");
        }
    }
}

C'est le second fichier. Ce n'est pas le fichier que vous gardez. Exécutez dotnet run. L'écran montre wait. Une ligne. Il ne montre pas pass. Il ne montre pas false comme mot à l'écran, sauf si vous l'écrivez exprès. Si l'écran montre pass, vous êtes encore sur le fichier que vous gardez, où ready est true. Après avoir vu wait, remettez le fichier gardé : bool ready = true; et le même if / else qui écrit pass sur le chemin true. Les deux versions sont du C# valide. Elles enseignent la même forme if / else avec des tests opposés.

Relisez l'exécution false une fois encore dans l'ordre. ready porte false. if (ready) est demandé. La réponse est false, donc chaque ligne entre le premier { et son } correspondant est sautée — y compris Console.WriteLine("pass");. Le contrôle continue à else. Les lignes entre les accolades else s'exécutent, donc Console.WriteLine("wait"); s'exécute. Une ligne à l'écran. Pas de seconde ligne. Le mot false lui-même n'apparaît jamais, sauf si vous l'écrivez exprès.

Règles qui gardent le choix clair

Les parenthèses autour du test sont obligatoires. Écrire if ready { … } sans parenthèses fait écrire une erreur au build. Le test sur cette page est un bool : un nom comme ready, ou les mots nus true ou false sans guillemets. if ("true") place des lettres là où un test bool doit se trouver ; le build écrit une erreur. Retirez les guillemets, ou continuez d'utiliser un nom bool. Un entier seul comme if (1) n'est pas la façon dont cette leçon range la disponibilité ; restez avec true, false, ou un nom bool.

Les accolades comptent pour lire la leçon. Cette page enveloppe toujours chaque chemin dans { }. C# permet un if d'une ligne sans accolades, mais dès que vous ajoutez une seconde ligne sous ce if, seule la première ligne reste liée au test, sauf s'il y a des accolades. Les débutants perdent facilement ce détail. Gardez les accolades dans les deux démos pour que chaque chemin soit évident : une accolade ouvrante après le test, une accolade fermante avant else, puis une autre paire pour else.

else appartient à un if. Un else seul fait écrire une erreur au build. Sur cette page, un if a un else. Vous pouvez écrire if sans else quand seul le chemin true vous intéresse ; le fichier que vous gardez montre encore les deux côtés pour que vous voyiez la fourche. Choisir parmi plusieurs valeurs fixes, c'est switch sur une page ultérieure — n'inventez pas ici une troisième branche avec un autre else.

Vous pouvez aussi écrire le test sans nom séparé : if (true) { … } else { … }. Cela compile et s'exécute. Les démos utilisent ready pour que vous voyiez un bool rangé qui conduit le choix, comme les programmes après que vous savez déjà ranger true et false. Des comparaisons comme if (score > 10) viennent après que vous êtes à l'aise avec cette fourche true / false ; cette page garde le test comme une valeur bool que vous comprenez déjà.

📊 ready and the screen

ready Screen
true pass
false wait

Servez-vous du tableau comme contrôle après une exécution, pas à sa place. true avec le fichier que vous gardez écrit pass. false avec le second fichier écrit wait. Si les deux lignes d'écriture s'exécutent d'une façon ou d'une autre, les accolades ou l'appariement if / else sont faux — corrigez la structure plutôt que de réinstaller le kit SDK .NET.

Une confusion courante est d'écrire la syntaxe elle-même : Console.WriteLine("if (ready)");. Cela écrit les caractères if (ready). Cela ne choisit pas de chemin. Une autre confusion est de laisser des démos && ou == dans le même Main et de se demander pourquoi l'écran montre true au lieu de pass. Le Main de cette session ne doit porter que le bool et le if / else.

Vous pouvez maintenant ranger un bool, le placer dans if (…), et donner à chaque issue son propre bloc entre accolades. Quand le test est true, une ligne d'écriture s'exécute ; quand il est false, la ligne d'écriture else s'exécute. La page suivante est switch, où plusieurs valeurs fixes ont chacune leur propre case au lieu d'une seule fourche true / false.

L'écran est le chemin choisi

Le fichier que vous gardez écrit pass. Le nom ready est dans les parenthèses, et ready n'est pas à l'écran. Le mot true est sur la ligne de rangement, et true n'est pas à l'écran. Le chemin else est dans le fichier, et il ne s'exécute pas sur l'exécution gardée. Des guillemets autour de if (ready) écrivent des lettres, pas un chemin choisi.

🧠 Testez Vos Connaissances

Prêt à Commencer

Testez Vos Connaissances

Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet

❓
5
Questions
🎯
70%
Pour Réussir
♾️
∞
Temps
🔄
∞
Tentatives

📝 Instructions

  • Lisez chaque question attentivement
  • Sélectionnez la meilleure réponse pour chaque question
  • Vous pouvez refaire le quiz autant de fois que vous le souhaitez
  • Votre progression sera affichée en haut