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 conditionnelle

Programmation en C# (C Sharp)



Il existe deux variantes d’instructions conditionnelles :

if ( Expr ) Instr ;
if ( Expr ) Instr ; else Instr ;

La définition de l’instruction conditionnelle de C# correspond classiquement à  l’instruction si…alors…sinon…fsi  des langages algorithmiques.

C# contient le même défaut de fermeture que ses parents Delphi et Java (pas de fsi). L’expression Expr doit être de type bool ( type booléen  du C#).

Exemple de if…else imbriqués :

1°) if ( Expr1 ) { if ( Expr2 ) InstrA ; else InstrB ; }
2°) if ( Expr1 ) { if ( Expr2 ) InstrA ;} else InstrB ;

Exemple de défaut de fermeture :

3°) if ( Expr1 ) if ( Expr2 ) InstrA ; else InstrB ;

Contrairement aux exemple 1° et 2° on ne sait pas à priori dans l’exemple 3°, si le else se rapporte au premier if “if ( Expr1 )” ou bien au second if “if ( Expr2 )”. Cette ambiguïté (dûe au défaut de fermeture du if) est en fait automatiquement levée par le compilateur qui applique la règle suivante : un else est rattaché au premier if qui le précède.

Donc l’exemple 3° fonctionne comme l’exemple 1°( else InstrB ; est rattaché au dernier if ( Expr2 ) )


using System;

class Exercice
{
public static void Main( ) 
{
int x=1;
Console.WriteLine("--------if séquentiels--------");
if( x<2  )
Console.WriteLine("x<2");
if( x<4  )
Console.WriteLine("x<4");

Console.WriteLine("--------if imbriqués--------");
if( x<2  )
Console.WriteLine("x<2");
else
if( x<4  )
Console.WriteLine("x<4");

Console.WriteLine("--------sans fermeture 1°--------");
if( x<2  )
if( x<4  )
Console.WriteLine("x<4");
else
Console.WriteLine("x>=4" );

Console.WriteLine("--------sans fermeture 2°--------");
if( x<2  )
{
if( x<4  )
Console.WriteLine("x<4");
}
else
Console.WriteLine("x>=2" );


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