Pourquoi, dans une instruction switch C#, pour une variable utilisée dans plusieurs cas, ne la déclare-t-on que dans le premier cas ?
Par exemple, l'erreur suivante se produit : "Une variable locale nommée 'variable' est déjà définie dans cette portée".
switch (Type)
{
case Type.A:
string variable = "x";
break;
case Type.B:
string variable = "y";
break;
}
Cependant, selon la logique, la déclaration initiale ne devrait pas être frappée si le type est Type.B
. Toutes les variables d'une instruction de commutation existent-elles dans une seule portée, et sont-elles créées/affectées avant le traitement de toute logique ?