He encontrado el siguiente código en C#.¿Demasiado si existen enunciados en C#?
if(condition0) statement0;
else if(condition1) statement1;
else if(condition2) statement2;
else if(condition3) statement3;
...
else if(conditionN) statementN;
else lastStatement;
Algunos de mis colegas me dicen que esto es una declaración else if
. Sin embargo, estoy convencido de que en realidad es una declaración anidada de varias capas if-else
. Sé que sin delimitadores {}
, se permite una declaración en if
o else
. Entonces, en este caso, creo que sería equivalente al siguiente código.
if(condition0)
statement0;
else
if(condition1)
statement1;
else
if(condition2)
statement2;
else
if(condition3)
statement3;
else
...
Tenga en cuenta que todo lo que cambié fue el espacio en blanco. Esta sangría funciona porque cada else
vuelve a la instrucción if
más reciente cuando no hay delimitadores.
¿Alguien puede aclarar si el formato else if
en el primer ejemplo es tratado de manera diferente por el compilador que el formato anidado if-else
en el segundo ejemplo?
parece un buen caso para 'cambiar' :) –
@Russ ha! buen juego de palabras! – NickAldwin
[Especificación de idioma] (http://msdn.microsoft.com/en-us/vcsharp/aa336809.aspx) lo borra en poco tiempo. Tienes razón, pero parece tener un poco de discusión con el ombligo, cuando no tiene ninguna diferencia práctica :) – shambulator