Каково практическое использование произвольного кодового блока (с помощью фигурных скобок) в C # - PullRequest
3 голосов
/ 07 июля 2011

Я видел пример с оператором 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) ,

Когда и как вы используете его, а если нет - почему бы и нет?

Кроме того, есть ли недостатки в использовании таких блоков кода?

Ответы [ 2 ]

4 голосов
/ 07 июля 2011

Как вы сказали, область объявления является одним из них, а также удобочитаемостью.Некоторые люди думают, что гораздо легче увидеть скобки, чем продолжать движение, пока они не увидят заявление о перерыве.Кажется, это личное предпочтение.В этом случае это делается в целях ограничения, поскольку не все операторы используют один и тот же тип данных.

2 голосов
/ 07 июля 2011

Это просто стилистическая вещь, которую некоторые люди предпочитают для читабельности / пробела, когда это не делается для целей области действия.

Никаких дополнительных преимуществ, о которых я знаю, нет.

...