2011-08-30 46 views
5

我跑过了一段C#代码,今天我从未见过。程序员只用大括号(如果没有,类,函数等)定义了一段代码。C中的浮动花括号#

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

是否有一个目的不是使代码看看这个其他更组织的?使用这种“浮动”上下文是好的,坏的还是其他的做法?

+0

http://stackoverflow.com/questions/249009/do-you-use-curly-braces-for-additional-scoping – luketorjussen

+1

对于重复的问题感到抱歉,我以为我的搜索引擎非常努力! – prestomanifesto

+0

这不应该被标记为**重复**到2010年编辑的一个2008年的问题**不正确**包括'C#'当所有的答案**明显不是C#**。提名**重新开放** – MickyD

回答

9

您可以使用一组打开和关闭的大括号来定义一个self包含块,该块包含自己的作用域。

虽然这通常不被认为是很好的编程习惯。

通常如果有人正在做这样的事情,最好在它的位置创建一个方法/函数。

0

这样做的目的是为了说明int i实际上与它下面增加的i的范围不同。

1

该代码根本没有目的。可能是他/她想要做的其他事情中的一件神器。正如评论所示,这甚至不会编译,因为i超出了范围。

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

1

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

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

+0

雅。它实际使用的方式是在手动呈现一些html代码的ASP页面中。大括号用于从逻辑上缩进每个元素内部的内容。 – prestomanifesto

1

这些大括号的“范围”内的任何变量将超出范围。

0

它将变量的范围限制在该块内。所以变量我将无法在这些大括号之外看到。

如果有人想要分离代码,但在不需要的情况下使用此代码在大多数情况下可能是多余的,它也可能是一种偏好。