3

我已经看到了一个带有 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 语句中)。

你何时以及如何使用它,如果你不 - 为什么不呢?

另外,使用这样的代码块有什么缺点吗?

4

2 回答 2

4

正如您所说,声明范围是其中之一,也是可读性。有些人认为看到大括号要容易得多,而不是必须继续直到看到 break 语句。这似乎是个人喜好。在这种情况下,它是出于范围界定的目的,因为并非所有语句都使用相同的数据类型。

于 2011-07-07T05:37:15.383 回答
2

这只是一些人更喜欢可读性/空白的风格,而不是出于范围目的。

我知道没有其他好处。

于 2011-07-07T05:42:36.457 回答