Dovrebbe apparire dopo.
Ad esempio:
switch(value)
{
case 0:
{
// this ...
// that ...
// and the other ...
}
break;
}
testo a cura di sotto
Questo principalmente per migliorare la leggibilità e la manutenibilità ecco un esempio.
switch (value)
{
case 0:
// Do this...
// Do that...
break;
case 1:
//and the other...
break;
}
e
switch (value)
{
case 0:
// Do this...
// Do that...
if (ObjectWithinScope.Type == Fault)
break;
case 1:
//and the other...
break;
}
Ora confrontate con
switch (value)
{
case 0:
{
// Do this...
// Do that...
}
break;
case 1:
//and the other...
break;
}
e
switch (value)
{
case 0:
{
// Do this...
// Do that...
if (ObjectWithinScope.Type == Fault)
break;
}
case 1:
{
//and the other...
}
break;
}
Quando si comincia a incontrare casi di istruzioni switch nidificate si può ottenere davvero molto confusa .
Solo un puntatore.
Ora alcuni di voi si stanno ancora chiedendo cosa sto ottenendo. Ecco qui. Un pezzo di codice legacy ha smesso di funzionare e nessuno è riuscito a capire perché.E tutto si riduceva ad un pezzo di codice strutturato come il seguente:
switch (value)
{
case 0:
{
// Do this...
// Do that...
if (ObjectWithinScope.Type == Fault)
break;
}
case 1:
{
//and the other...
}
break;
}
c'è voluto molto tempo per definire questo codice, ma controllando i registri delle modifiche è stato originariamente come followws:
switch (value)
{
case 0:
{
// Do this...
// Do that...
if (ObjectWithinScope.Type == Fault)
// *** A line of code was here ***
break;
}
case 1:
{
//and the other...
}
break;
}
Certo, il codice originale non era coerente con se stesso, ma avendo l'interruzione tra parentesi graffe il codice veniva compilato quando una riga di codice veniva cancellata per sbaglio. Se la rottura fosse stata al di fuori delle parentesi, allora non avrebbe avuto.
potresti chiarire per favore, la domanda come è non ha senso ... –
Penso che abbia perfettamente senso –
Ha senso così com'è, ma un esempio di codice lo renderà comunque più chiaro – dmckee