繁体   English   中英

C#中的浮动花括号

[英]Floating curly braces in C#

我今天遇到了一段我以前从未见过的 C# 代码。 程序员仅使用大括号(没有 if、class、function 等)定义了一段代码。

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

除了使代码看起来更有条理之外,还有其他目的吗? 使用这种“浮动”上下文是好是坏还是其他什么做法?

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

不过,这通常不被认为是好的编程习惯。

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

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

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

如果有人想要分离代码,但在大多数情况下没有必要时使用它,这也可以是一种偏好。

该代码根本没有任何意义。 可能是他/她试图做的其他事情的人工制品。 正如评论所示,这甚至无法编译,因为i超出了范围。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM