c#中的浮动花括号
本文关键字: | 更新日期: 2023-09-27 18:06:58
我今天偶然发现了一段我以前从未见过的c#代码。程序员只用花括号定义了一个代码块(没有if、class、function等)。
{
int i = 0;
}
i++; //compile error
除了使代码看起来更有条理之外,这样做还有别的目的吗?使用这种"浮动"上下文是好是坏?
你可以使用一组开、闭花括号来定义一个自包含块,它有自己的作用域。
这通常不被认为是好的编程实践。
通常,如果有人在做这样的事情,最好创建一个方法/函数来代替。
在这些花括号的"作用域"内的任何变量都将超出它的作用域。
大括号{}
在c#中定义作用域。一旦括号结束,其中定义的任何内容都将"超出作用域"。
这个例子似乎有点无意义。我无法想象为什么它会在现实世界的代码中使用。我猜你削减了提交的代码?
它将变量的作用域限制在该块内。所以变量i在括号外是看不到的。
如果有人想要分隔代码,它也可以是一个首选项,但在大多数情况下,在不必要的情况下使用它是多余的。
这段代码根本没有任何目的。可能是他/她试图做的其他事情的神器。正如注释所示,这甚至无法编译,因为i
超出了作用域。
从编码风格的角度来看,我个人不喜欢它,我从来没有见过有人使用浮动括号来"组织"他们的代码。
这样做的目的是为了说明int i
实际上与它下面的递增的i
处于不同的作用域。