Getsuyodev, Programming is mainly used when constructing an application. Programming requires knowledge of application domains, algorithms, and programming language expertise. Programming can be developed in different logic based on developer knowledge.

C Sharp – Instruction switch

Programmation en C# (C Sharp)



C’est une instruction de sélection  structurée en C# (contrairement à Java) permettant de remplacer des if…else imbriqués.

Syntaxe la plus utile :

switch ( < Expr > )
{
    case < val_1 > :  < Instr > break;
    case < val_2 > :  < Instr > break;
      ........
    case < val_K > :  < Instr > break;
    default : < Instr > break;
}
  • < Expr > doit être soit une expression soit une variable du type byte, char, int, short , string ou bien  enum.
  • Les parties < val_1 >, …, < val_K > d’un bloc switch doivent être une constante ou une valeur immédiate du typebyte, char, int, short , string ou bien  enum.
  • < Instr > est une instruction simple ou  un bloc d’instruction se terminant par un break.

Sémantique :

< Expr > est évaluée puis selon la valeur obtenue le programme s’exécute en séquence à partir du case contenant la valeur immédiate égale.
Il s’agit donc d’un déroutement du programme dès que < Expr >est évaluée, vers l’instruction étiquetée par le case
< val_n > associé.

Exemple :

une instruction switch
les if…else imbriqués équivalents
char x ;

switch (x)
{
    case ‘a’ : InstrA ; break;
    case ‘b’ : InstrB ; break;
    default : InstrElse; break;
}
char x ;

if (x ==’ a’)
  InstrA ;
else if (x == ‘b’)
            InstrB ;
        else InstrElse;


using System;

class Exercice
{
enum chiffres
{
un, deux, trois, zero
}

public static void Main( ) 
{
string prenom="Amédée", nom="mineur";
int nbr=0;
switch(nom)
{
case "" : nom="vide";
break;
case "mineur":
{
nom=prenom+", "+nom;
break;
}
default : nom="inconnu";
break;
}
Console.WriteLine(nom);
Console.WriteLine("----------------------");
chiffres nombre=chiffres.un;
switch(nombre)
{
case chiffres.un : nbr=1;
break;
case chiffres.deux : nbr=2;
break;
case chiffres.trois : nbr=3;
break;
default : nbr=0;
break;
}
Console.WriteLine(nbr);
Console.ReadLine();
}
}



Comments are closed, but trackbacks and pingbacks are open.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More