L'instruction if permet de sélectionner une instruction à exécuter en fonction de la valeur d'une expression Boolean. Dans l'exemple suivant, un indicateur flagCheck Boolean a la valeur true, avant d'être vérifié dans l'instruction if. Le résultat est : The flag is set to true.
bool flagCheck = true;
if (flagCheck == true)
{
Console.WriteLine("The flag is set to true.");
}
else
{
Console.WriteLine("The flag is set to false.");
}
NotesSi l'expression dans la parenthèse est true, alors l'instruction Console.WriteLine("The boolean flag is set to ture."); 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 imbriquées if, la clause else est associée au dernier if qui ne comprend pas de clause else correspondante. Par exemple :
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 1Dans 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é.
// statements_if_else.cs
// if-else example
using System;
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.");
}
}
}Entrée
2
Résultat de l'exemple
Enter a character: 2 The character is not an alphabetic character.
Variantes de l'exemple :
Variante 2 :
Enter a character: A The character is uppercase.
Variante 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;
}
Exemple 2Cet 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.
// statements_if_else2.cs
// else-if
using System;
public class IfTest
{
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.");
}
}
}Entrée
E
Résultat de l'exemple
Enter a character: E The character is uppercase.
Variantes de l'exemple :
Variante 2 :
Enter a character: e The character is lowercase.
Variante 3 :
Enter a character: 4 The character is a number.
Variante 4 :
Enter a character: $ The character is not alphanumeric.
Spécification du langage C#Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.
-
5.3.3.5 Instructions if
-
8.7.1 L'instruction if
Voir aussiRéférence
Mots clés C#?:, opérateur (référence C#)
The if-else Statement
switch (référence C#)
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ