Outils pour utilisateurs

Outils du site


lang:csharp:condition

if

Condition classique

if ()
{
  plusieurs instructions;
}
else if ()
  une instruction;
else
  une instruction;

Attention aux else s'il y a des if imbriqués :

if ()
  if ()
    une instruction;
else // Ici, l'indentation est mauvaise car le else correspond au second if.
  une instruction;

Conditions multiples sur une même valeur

using System.Linq;
 
public static class Ext
{
  public static bool In<T>(this T obj, params T[] args)
  {
    return args.Contains(obj);
  }
}
 
if (2.In(1, 2, 3, 4))
  return;

if statements matching multiple values Archive du 11/10/2010 le 17/02/2020

switch

Cas courant

Les switch / case agissent comment des goto. Il faut impérativement mettre un break pour éviter de passer à l'instruction suivante. L'omission du break est interdit.

int i = 0;
switch (i)
{
  case 0:
    i = 2;
    break;
  case 1:
    i = 3;
    break;
  // Plusieurs conditions pour une même exécution de code.
  case 2:
  default:
    break;
}

Les variables déclarées dans un case sont accessibles depuis les case suivants.

int k = 2;
switch (k)
{
  case 0:
    // Déclaration de la variable.
    int i = 1;
    break;
  case 1:
  {
    int j = 3;
    break;
  }
  case 2:
  default:
    // On peut utiliser la variable locale i mais i n'est pas initialisé à 1.
    i = 123;
    // j = 15; // Impossible car en dehors du bloc de déclaration de j.
    break;
}

Le switch / case fonctionne de la même façon sur des string.

lang/csharp/condition.txt · Dernière modification : 2020/03/06 21:31 de root