Я видел пример с оператором switch, где каждый блок case был заключен в фигурные скобки, например:
switch (itemType)
{
case ItemType.TV:
{
String message = Messages.GetMessage(itemType);
Console.WriteLine(message);
break;
}
case ItemType.Computer:
{
XPMessage message = XPMessage.Next();
if(message.Data == "XC12")
message.IsValid = true;
break;
}
case ItemType.WashingMachine:
{
String message = "Washing machines are so cool.";
Messages.SendMessage(message, itemType);
break;
}
default:
{
break;
}
}
Единственное известное мне преимущество - это ограничение области объявления (видно из примера).
Однако я хотел бы знать, есть ли другие хорошие способы использования для разделения некоторых частей кода в таком виде блока кода (и здесь я имею в виду не обязательно в выражении switch) ,
Когда и как вы используете его, а если нет - почему бы и нет?
Кроме того, есть ли недостатки в использовании таких блоков кода?