
Dans un programme, tout le code ne s'exécute pas forcément. Vous pouvez faire s'exécuter certaines parties du code si des conditions sont remplies.
La route me semble être une bonne analogie. Il n'y a pas qu'un seul chemin à emprunter pour se rendre à un endroit. Suivant le lieu où vous désirez vous rendre, vous n'allez pas faire la même chose. Eh bien ici c'est pareil ! 
if
"if" est un mot anglais qui signifie "si". C'est un mot-clef du langage C# qui permet de n'effectuer du code que dans certaines conditions.
La syntaxe est la suivante :
La syntaxe est la suivante :
if (condition)
{
// Code à exécuter si la condition est satisfaite.
}
condition
est une expression qui retourne un booléen : soit true
, soit false
:true
: le code entre les accolades est exécuté.false
: le code entre les accolades n'est pas exécuté.
Commenter judicieusement son code est un travail subtil. Il faut savoir expliquer ce qui est susceptible de ne pas être compris par un relecteur, tout en ne tombant pas dans l'excès (c'est-à-dire ne pas commenter chaque ligne, ou du code basique).
else if
"else if" veut dire "sinon, si". Placé après un
La syntaxe est la suivante :
if
, il permet d'exécuter du code qui ne remplit pas la première condition, mais la deuxième.La syntaxe est la suivante :
if (condition1)
{
// Code à exécuter si la condition est satisfaite.
}
else if (condition2)
{
// Code à exécuter si la première condition n'est pas satisfaite mais que la deuxième l'est.
}
Vous pouvez mettre autant de
else if
que vous voulez.else
"else" signifie "sinon". Placé après un
La syntaxe est la suivante :
if
simple, ou un if
et un (ou plusieurs) else if
, il permet d'exécuter le code qui ne satisfait aucune condition précédente.La syntaxe est la suivante :
if (condition)
{
// Code à exécuter si la condition est satisfaite.
}
else
{
// Code à exécuter si la première condition n'est pas satisfaite.
}
Les trois expressions peuvent se combiner. Voici un exemple où
age
est un entier représentant l'âge d'un client à un restaurant :
if (age < 4)
{
// gratuit
// 0 < age < 4
}
else if (age < 12)
{
// Tarif enfant
// 4 <= age < 12
// en effet, age n'est pas strictement inférieur à 4, et est strictement inférieur à 12.
}
else if (age < 18)
{
// Tarif ado
// 12 <= age < 18
}
else
{
// Tarif adulte
// 18 <= age
}
// suite du code
Il permet de remplacer
if
et sa famille pour étudier l'égalité de plusieurs termes.
Voici un exemple avec
if
où level
est un entier :
if (level == 1)
{
// niveau 1
}
else if (level == 2)
{
// niveau 2
}
else
{
// autre niveau
}
Voici ce que ça donne avec
switch
:
switch (level)
{
case 1:
{
// niveau 1
}
break;
case 2:
{
// niveau 2
}
break;
default:
{
// autre niveau
}
break;
}
Là-aussi, vous pouvez mettre autant de
case
que vous voulez.
Les boucles conditionnelles permettent de répéter des actions tant que certaines conditions sont satisfaites. Dès lors que ces dernières ne le sont plus, le programme "sort de la boucle" et exécute le code qui suit.
while
"while" veut dire "tant que".
La syntaxe est :
La syntaxe est :
while (condition)
{
// Code qui s'exécute tant que la condition est satisfaite.
}
while (condition)
{
if (needToExit)
{
break;
}
// Code à exécuter en boucle
}
Une fois que
break
est exécuté, plus aucune ligne de code à l'intérieur des accolades de la boucle n'est exécutée. Ainsi la ligne qui s'exécute après le break
est celle située juste après l'accolade fermante.
Puisqu'un exemple permet toujours de mieux comprendre, je vous propose un bout de code pour faire un compte à rebours qui débute à 100 :
int i = 100;
while (i > 0)
{
// On décrémente i
i--;
}
do ... while
L'équivalent français serait "fait ... tant que". Cela permet d'exécuter les instructions une première fois obligatoirement, et de répéter l'exécution si besoin est.
La syntaxe est :
La syntaxe est :
do
{
// Code qui s'exécute une 1ère fois obligatoirement et ensuite en boucle tant que la condition est satisfaite.
}
while (condition);
C'est un
while
compact.
Regardez ce que devient notre compte à rebours avec
for
:
int i;
for (i = 100; i > 0; i--)
{
}
On peut tout aussi bien écrire :
for (int i = 100; i > 0; i--)
{
}
continue
À la différence de
break;
, continue;
ne s'utilise pas pour terminer la boucle, mais pour passer directement à l'élément suivant. Voici sans plus attendre un exemple, qui vous apportera plus qu'un long discours :
for (int i = 1; i <= 10; i++)
{
if (i < 9)
{
continue;
}
// La ligne suivante n'est pas exécutée si i est strictement inférieur à 9.
Console.WriteLine(i);
}
Vous verrez donc :
9
10
Notez bien que la boucle ne s'arrête pas, seules les instructions relatives à l'élément en cours ne sont plus exécutées.
Les tests de conditions sont vraiment très courants ils sont présents même dans les morceaux de code les plus simples. Ce chapitre est donc un incontournable de plus !