c#中的浮动花括号

本文关键字: | 更新日期: 2023-09-27 18:06:58

我今天偶然发现了一段我以前从未见过的c#代码。程序员只用花括号定义了一个代码块(没有if、class、function等)。

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

除了使代码看起来更有条理之外,这样做还有别的目的吗?使用这种"浮动"上下文是好是坏?

c#中的浮动花括号

你可以使用一组开、闭花括号来定义一个自包含块,它有自己的作用域。

这通常不被认为是好的编程实践。

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

在这些花括号的"作用域"内的任何变量都将超出它的作用域。

大括号{}在c#中定义作用域。一旦括号结束,其中定义的任何内容都将"超出作用域"。

这个例子似乎有点无意义。我无法想象为什么它会在现实世界的代码中使用。我猜你削减了提交的代码?

它将变量的作用域限制在该块内。所以变量i在括号外是看不到的。

如果有人想要分隔代码,它也可以是一个首选项,但在大多数情况下,在不必要的情况下使用它是多余的。

这段代码根本没有任何目的。可能是他/她试图做的其他事情的神器。正如注释所示,这甚至无法编译,因为i超出了作用域。

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

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

相关文章:
  • 没有找到相关文章