相关疑难解决方法(0)

C#switch语句中的变量声明

为什么在C#switch语句中,对于在多种情况下使用的变量,您只在第一种情况下声明它?

例如,以下引发错误"已在此范围中定义名为'variable'的局部变量".

switch (Type)
{
    case Type.A:
            string variable = "x";
                break;
    case Type.B:
            string variable = "y";
                break;
}
Run Code Online (Sandbox Code Playgroud)

但是,根据逻辑,如果类型为,则不应该触发初始声明Type.B.switch语句中的所有变量是否都存在于单个作用域中,是否在处理任何逻辑之前创建/分配它们?

c# switch-statement

117
推荐指数
4
解决办法
5万
查看次数

标签 统计

c# ×1

switch-statement ×1