c# - 为什么 C# 允许没有前置语句的 {} 代码块?

标签 c# syntax language-design

为什么 C# 允许没有前置语句的代码块(例如 ifelseforwhile )?

void Main()
{
    {   // any sense in this?
        Console.Write("foo");
    }
}

最佳答案

{ ... } 至少具有为局部变量引入新作用域的副作用。

我倾向于在 switch 语句中使用它们来为每种情况提供不同的范围,这样我就可以在最接近它们使用的位置定义具有相同名称的局部变量,并且还表示它们仅在案例级别有效。

关于c# - 为什么 C# 允许没有前置语句的 {} 代码块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6136853/

相关文章:

c# - URL 的正则表达式问题

c# - 更改 SSL 网站的 Web.Config

c# - ASP.NET Core 模型是否有类似 OnDelete 回调之类的东西?

c# - 为什么接口(interface)实现不能返回更具体的类型?

c++ - 为什么 C++ 继承机制不透明?

c# - 从逗号分隔的属性值创建新元素

javascript - 类作用域中的变量赋值在 React 中有效,但在 ES6 中无效

c++ - C++中访问另一个类的方法

C结构语法问题

java - Java 7 中的链式调用?