在C#中浮动花括号

时间:2011-08-30 16:43:46

标签: c#

我今天遇到过一段我从未见过的C#代码。程序员仅使用花括号定义了一个代码块(no if,class,function等)。

{
    int i = 0;
}
i++; //compile error

除了使代码看起来更有条理之外,还有其他目的吗?使用这种“浮动”环境是好事,坏事还是其他任何做法?

6 个答案:

答案 0 :(得分:9)

您可以使用一组打开和关闭的花括号来定义一个包含自身的块,该块具有自己的范围。

但这通常不被视为良好的编程习惯。

通常如果某人正在做这样的事情,最好在它的位置创建方法/功能。

答案 1 :(得分:2)

这些花括号的“范围”内的任何变量都不在其范围之外。

答案 2 :(得分:1)

根本不存在该代码的目的。可能是他/她试图做的其他东西的神器。正如评论所示,这甚至无法编译,因为i超出了范围。

从编码风格的角度来看,我个人不喜欢它,我从未见过有人使用浮动大括号来“组织”他们的代码。

答案 3 :(得分:1)

C#中的大括号{}定义范围。一旦括号被终止,其中定义的任何内容都会“超出范围”。

这个例子似乎毫无意义。我无法想象它为什么会在现实世界的代码中使用。我假设你减少了提供的代码?

答案 4 :(得分:1)

它将变量的范围限制在该块内。所以我不能在那些括号之外看到变量i。

如果有人想要分开代码,也可能是偏好,但在不必要的情况下使用此代码在大多数情况下都是多余的。

答案 5 :(得分:0)

这样做的目的是说明int i实际上与其下方增加的i不同。