我跑过了一段C#代码,今天我从未见过。程序员只用大括号(如果没有,类,函数等)定义了一段代码。C中的浮动花括号#
{
int i = 0;
}
i++; //compile error
是否有一个目的不是使代码看看这个其他更组织的?使用这种“浮动”上下文是好的,坏的还是其他的做法?
我跑过了一段C#代码,今天我从未见过。程序员只用大括号(如果没有,类,函数等)定义了一段代码。C中的浮动花括号#
{
int i = 0;
}
i++; //compile error
是否有一个目的不是使代码看看这个其他更组织的?使用这种“浮动”上下文是好的,坏的还是其他的做法?
您可以使用一组打开和关闭的大括号来定义一个self包含块,该块包含自己的作用域。
虽然这通常不被认为是很好的编程习惯。
通常如果有人正在做这样的事情,最好在它的位置创建一个方法/函数。
这样做的目的是为了说明int i
实际上与它下面增加的i
的范围不同。
该代码根本没有目的。可能是他/她想要做的其他事情中的一件神器。正如评论所示,这甚至不会编译,因为i
超出了范围。
从编码风格的角度来看,我个人不喜欢它,我从来没有见过有人使用浮动括号来“组织”他们的代码。
大括号{}
在C#中定义范围。一旦花括号终止,任何在其中定义的内容都会“超出范围”。
这个例子似乎毫无意义。我无法想象它为什么会用在现实世界的代码中。我假设你削减了所提供的代码?
雅。它实际使用的方式是在手动呈现一些html代码的ASP页面中。大括号用于从逻辑上缩进每个元素内部的内容。 – prestomanifesto
这些大括号的“范围”内的任何变量将超出范围。
它将变量的范围限制在该块内。所以变量我将无法在这些大括号之外看到。
如果有人想要分离代码,但在不需要的情况下使用此代码在大多数情况下可能是多余的,它也可能是一种偏好。
http://stackoverflow.com/questions/249009/do-you-use-curly-braces-for-additional-scoping – luketorjussen
对于重复的问题感到抱歉,我以为我的搜索引擎非常努力! – prestomanifesto
这不应该被标记为**重复**到2010年编辑的一个2008年的问题**不正确**包括'C#'当所有的答案**明显不是C#**。提名**重新开放** – MickyD