为什么在C# switch 语句中,一个变量在多个情况下使用,你只在第一种情况下声明它?
例如,以下会引发错误“已在此范围内定义了名为 'variable' 的局部变量”。
switch (Type)
{
case Type.A:
string variable = "x";
break;
case Type.B:
string variable = "y";
break;
}
但是,根据逻辑,如果类型为 ,则不应命中初始声明Type.B
。switch 语句中的所有变量是否都存在于单个范围内,它们是否在处理任何逻辑之前创建/分配?