Instruction de décision : switch if else en C#

Modifier les instructions de code appelées dans un programme en fonction des entrées ou à une valeur calculée est un élément indispensable de tout langage de programmation.

En C#, il est possible de le faire soit inconditionnellement, en se rendant à un nouvel emplacement dans le code, soit conditionnellement, en exécutant un test dont la valeur de retour est un bool.

Pour bien utiliser les instructions de décision, il est important de connaître les différents opérateurs, pour cela rendez vous sur le tutoriel des opérateurs en C#.

L'instruction if en C#

Remarque importante pour les utilisateurs de C et C++, les instructions if requièrent des valeurs booléennes uniquement. Il n'est pas permis d'avoir une instruction dont l'évaluation ne donne pas simplement True ou False. Exemple (a=10) ne marche pas en C#, 0 ne peut pas être substitué à False et 1 (ou toute autre valeur) à True.

La structure if permet de n'exécuter qu'un bloc d'instructions uniquement si l'expression est vraie. Le mot clé 'if' signifie en anglais 'si'. Autrement dit, si la condition est vérifiée, on exécute l'instruction. Dans le cas contraire, l'instruction sera simplement ignorée ou une autre instruction alternative sera exécutée, voir instruction 'else' ci-dessous.

Le else étant l'alternative, on peut ne pas l'utiliser lors de l'utilisation de l'instruction if.

La syntaxe à utiliser pour l'instruction if est :

if (condition)
{
// Bloc d'instructions si la condition est vraie
}

Exemple d'utilisation de l'instruction if :

int note = 15 ;
if(note>10)
{
lable.text = "Vous avez obtenu plus de 10 à votre examen" ;
}

L'instruction else en C#

La clause 'else' qui signifie 'sinon', ajoutée après le bloc d'instruction du if, permet de définir une série d'instructions qui seront exécutées si l'expression if testée est fausse. La syntaxe à utiliser pour l'instruction if est :

if (condition)
{
// Bloc d'instructions si la condition est vraie
}
else
{
// Bloc d'instructions si la condition est fausse
}

Si votre bloc d'instruction tient sur une ligne vous pouvez utiliser la syntaxe suivante :

if (condition)
// Bloc d'instructions si la condition est vraie
else
// Bloc d'instructions si la condition est fausse

Exemple d'utilisation de l'instruction if :

int age = 20 ;
if(age>=18)
{
lable.text = "Vous êtes majeur." ;
}
else
{
lable.text = "Vous êtes mineur." ;
}

Imbrication d'instruction

On peut imbriquer les if les uns dans les autres. Simplement lorsqu'un if imbriqué aura fini d'être exécuté, il retournera à l'étape logique suivante du rang hiérarchique supérieur.

int note = 19;
if(note == 0)
{
label.text = Vous avez obtenu un zéro";
}
else
{
if(note > 9) {
label.text = "Vous avez la moyenne";
}
else
{
label.text = "Vous n'avez pas la moyenne";
}
}

Instruction et syntaxe Switch en C#

Une instruction switch peut effectuer plusieurs actions selon la valeur d'une expression donnée. Le code entre l'instruction case et le mot clé break est exécuté si la condition est remplie.

Exemple :

int telephone = 18;
switch (telephone)
{
case 15:
label.text = "Numéro du samu" ;
break;
case 17:
label.text = "Numéro de la police" ;
break;
case 18:
label.text = "Numéro des pompiers" ;
break;
default:
label.text = "Numéro inconnu" ;
break;
}

Dans notre exemple, selon la valeur en entrée du switch, l'instruction correspondante sera exécutée. Si aucune valeur ne correspond, alors c'est l'instruction default qui est appelée. L'instruction default n'est pas obligatoire, si vous ne la mettez pas et si aucune valeur ne correspond alors rien ne sera exécuté.

Recevez par email nos prochains conseils

Oseox sur Facebook Notifications via Facebook Oseox sur Twitter Notre actu sur twitter

Une question ? Venez la poser sur notre forum développement web !

A propos de l'auteur

Sébastien Houzet

Sébastien Houzet est un passionné d'internet depuis 1998. Il peut vous accompagner sur les projets Web.