有没有办法使用switch语句来设置整个案例中使用的一个特定变量的值?如果value为1,我希望变量为1,如果value为2,我希望变量为2.我实际上只是通过:
Int variable = value;
..但是,为了将来参考示例更复杂,我想知道是否有办法。 (目前获取变量已定义错误)。
switch (value)
{
case 0:
int Variable = 0;
break;
case 1:
int Variable = 1;
break;
case 2:
int Variable = 2;
break;
case 3:
int Variable = 3;
break;
case 4:
int Variable = 4;
break;
}
答案 0 :(得分:5)
哈希表或字典怎么样?这很麻烦,但我觉得很可读。
来自here的想法。
Dictionary<string, int> numbers = new Dictionary<string, int>(){
{"zero", 0},
{"one", 1},
{"two", 2},
{"three", 3},
{"four", 4},
{"five", 5},
{"size", 6}
};
int Variable = numbers[value];
答案 1 :(得分:2)
如果在swtich之外声明变量,则不会得到“已定义变量”错误。发生这种情况是因为switch
内的所有内容都在同一范围内。
示例:
int Variable = -1;
switch (value)
{
case 0:
Variable = 0;
break;
case 1:
Variable = 1;
break;
case 2:
Variable = 2;
break;
case 3:
Variable = 3;
break;
case 4:
Variable = 4;
break;
}