我有一个EnemyVehicle对象的ArrayList。它的名字是敌人。当我尝试删除EnemyVehicle类的对象时,就像在question中一样,我得到了意外的类型错误:
required: valuable
found: value
这是我的代码:
private void enemiesTurn()
{
for(int i = 0; i<enemies.size(); i++)
{
if(enemies.get(i).isDestroyed())
{
enemies.add(getNewRandomVehicle(difficulty));
p1.setScore(p1.getScore() + 20);
enemies.get(i) = null;
}
}
}
我该怎么办?
答案 0 :(得分:1)
代替enemies.get(i) = null;
执行enemies.remove(enemies.get(i));
编辑:这是因为enemies.get(i)
是一个值,而不是一个变量,你不能在操作的左侧使用它。操作的左侧必须以某种方式包含变量。
答案 1 :(得分:0)
当您从ArrayList或任何List类型中删除内容时。你应该使用迭代器。
private async void ButtonClick(object sender, RoutedEventArgs e)
{
if (e.OriginalSource != sender)
{
// do nothing if clicked the ToggleSwitch
e.Handled = true;
}
else
{
// handle the button click action
await this.ShowMessageAsync(string.Empty, "Yeah, you clicked the real button!");
}
}