Powinien pojawić się po.
Na przykład:
switch(value)
{
case 0:
{
// this ...
// that ...
// and the other ...
}
break;
}
Edytowane tekst poniżej
to głównie w celu poprawienia czytelności i konserwacji oto przykład.
switch (value)
{
case 0:
// Do this...
// Do that...
break;
case 1:
//and the other...
break;
}
i
switch (value)
{
case 0:
// Do this...
// Do that...
if (ObjectWithinScope.Type == Fault)
break;
case 1:
//and the other...
break;
}
teraz porównać z
switch (value)
{
case 0:
{
// Do this...
// Do that...
}
break;
case 1:
//and the other...
break;
}
i
switch (value)
{
case 0:
{
// Do this...
// Do that...
if (ObjectWithinScope.Type == Fault)
break;
}
case 1:
{
//and the other...
}
break;
}
Po uruchomieniu natknąć się przypadki zagnieżdżonych sprawozdania przełącznika może się rzeczywiście bardzo mylące .
Tylko wskaźnik.
Niektórzy z was wciąż zastanawiają się, w co się pakuję. Oto jest. Fragment starego kodu przestał działać i nikt nie mógł zrozumieć, dlaczego.To wszystko sprowadza się do kawałka kodu strukturalnego jak następuje:
switch (value)
{
case 0:
{
// Do this...
// Do that...
if (ObjectWithinScope.Type == Fault)
break;
}
case 1:
{
//and the other...
}
break;
}
zajęło dużo czasu, aby zmusić ten kod, ale na sprawdzenie logów zmian było pierwotnie jako 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;
}
Wprawdzie oryginalny kod nie był zgodny z samym sobą, ale z powodu przerwy w nawiasach klamrowych kod skompilowany, gdy jedna linia kodu została usunięta przez przypadek. Gdyby przerwa była poza nawiasami, to nie miałaby.
Czy mógłbyś wyjaśnić, proszę, pytanie, jak to nie ma sensu ... –
Myślę, że to ma sens ... –
Ma sens, ale jest to przykład kodu, który nie sprawi, że stanie się jaśniejszy – dmckee