您无法轻松地将数组替换为单个变量。如果您有类似的声明
int room1 = 0, room2 = 0, room3 = 0, room4 = 0;
并想要访问房间号i
那么你必须写
switch (i) {
case 1:
Console.WriteLine(room1);
break;
case 2:
Console.WriteLine(room2);
break;
case 3:
Console.WriteLine(room3);
break;
case 4:
Console.WriteLine(room4);
break;
}
使用数组你可以简单地写
Console.WriteLine(rooms[i]);
如果你真的想采用这种无数组的方式,我建议你使用辅助方法:
private void SetRoom(int room, int value)
{
switch (room) {
case 1:
room1 = value;
break;
case 2:
room2 = value;
break;
case 3:
room3 = value;
break;
case 4:
room4 = value;
break;
}
}
public int GetRoom(int room)
{
switch (room) {
case 1:
return room1;
case 2:
return room2;
case 3:
return room3;
case 4:
return room4;
default:
return 0;
}
}
您必须将变量 room1 到 room4 声明为类成员才能完成此操作。
现在你可以写:
Console.WriteLine(GetRoom(i));
或者代替rooms[i] += n;
SetRoom(i, GetRoom(i) + n);