Share via


if-else (référence C#)

L'instruction if permet de sélectionner une instruction à exécuter en fonction de la valeur d'une expression Boolean. Dans l'exemple suivant, la variable result Boolean a la valeur true, avant d'être vérifiée dans l'instruction if. Le résultat est : The variable is set to true.

bool result = true;

if (result)
{
    Console.WriteLine("The variable is set to true.");
}
else
{
    Console.WriteLine("The variable is set to false.");
}

Si l'expression dans la parenthèse est true, alors l'instruction Console.WriteLine("The variable is set to true."); est exécutée. Après l'exécution de l'instruction if, le contrôle est transféré à l'instruction suivante. Else n'est pas exécuté dans cet exemple.

Si vous souhaitez exécuter plusieurs instructions, il est possible de les exécuter conditionnellement en les incluant dans des blocs à l'aide de {}, comme dans l'exemple ci-dessus.

La ou les instructions à exécuter à l'issue du test de la condition peuvent être de type quelconque. Il peut même s'agir d'une autre instruction if imbriquée dans l'instruction if d'origine. Dans les instructions if, la clause else est associée au dernier if qui ne comprend pas de clause else correspondante. Par exemple :


int x = 12;
int y = 18;

if (x > 10)
    if (y > 20)
        Console.Write("Statement_1");
    else
        Console.Write("Statement_2");

Dans cet exemple, Statement_2 s'affiche si la condition (y > 20) correspond à la valeur false. Toutefois, si vous souhaitez associer Statement_2 à la condition (x >10), utilisez des accolades :


if (x > 10)
{
    if (y > 20)
        Console.Write("Statement_1");
}
else
    Console.Write("Statement_2");

Dans ce cas, Statement_2 s'affiche si la condition (x > 10) correspond à la valeur false.

Exemple

Dans cet exemple, vous entrez un caractère au clavier et le programme contrôle si le caractère que vous avez entré est un caractère alphabétique. Si c'est le cas, le programme vérifie s'il s'agit d'une minuscule ou d'une majuscule. Dans tous les cas, le message approprié est affiché.


    class IfTest
    {
        static void Main()
        {
            Console.Write("Enter a character: ");
            char c = (char)Console.Read();
            if (Char.IsLetter(c))
            {
                if (Char.IsLower(c))
                {
                    Console.WriteLine("The character is lowercase.");
                }
                else
                {
                    Console.WriteLine("The character is uppercase.");
                }
            }
            else
            {
                Console.WriteLine("Not an alphabetic character.");
            }
        }

        /*
        Input:
        2
        Sample Output
        Enter a character: 2
        The character is not an alphabetic character.
        Additional sample might look as follows:
        Run #2:
        Enter a character: A
        The character is uppercase.
        Run #3:
        Enter a character: h
        The character is lowercase.
         * */
    }

Il est également possible d'étendre l'instruction if de manière à traiter plusieurs conditions en utilisant la combinaison else-if suivante :

            if (Condition_1)
            {
                // Statement_1;
            }
            else if (Condition_2)
            {
                // Statement_2;
            }
            else if (Condition_3)
            {
                // Statement_3;
            }
            else
            {
                // Statement_n;
            }

Cet exemple contrôle si le caractère d'entrée est une minuscule, une majuscule ou un chiffre. Sinon, le caractère n'est pas un caractère alphanumérique. Le programme utilise la combinaison else-if.

    public class IfTest3
{
    static void Main()
    {
        Console.Write("Enter a character: ");
        char c = (char)Console.Read();

        if (Char.IsUpper(c))
        {
            Console.WriteLine("Character is uppercase.");
        }
        else if (Char.IsLower(c))
        {
            Console.WriteLine("Character is lowercase.");
        }
        else if (Char.IsDigit(c))
        {
            Console.WriteLine("Character is a number.");
        }
        else
        {
            Console.WriteLine("Character is not alphanumeric.");
        }
    }
}
    /*
        Sample Input:  E

        Sample Output:
        Enter a character: E
        The character is uppercase.

        Additional sample runs might look as follows:
        Run #2
        Enter a character: e
        The character is lowercase.
        Run #3:
        Enter a character: 4
        The character is a number.
        Run #4:
        Enter a character: $
        The character is not alphanumeric.
    */

Spécification du langage C#

Pour plus d'informations, consultez la Spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.

Voir aussi

Référence

Mots clés C#

?:, opérateur (référence C#)

if-else Statement (C++)

switch (Référence C#)

Concepts

Guide de programmation C#

Autres ressources

Référence C#