C# C-只能将赋值调用递增递减等待和新对象表达式用作语句

C# C-只能将赋值调用递增递减等待和新对象表达式用作语句,c#,C#,我在使用代码时遇到以下错误: 只有赋值调用递增递减等待和新对象表达式可以用作语句 当我使用此代码时,我会得到: for (int i = enemies.Count - 1; i >= 0; i-) { enemies[i].Update(gameTime); if (enemies[i].Active == false) { enemies.RemoveAt(i); } } for (int i = enemies.Count - 1; i >= 0; i--)

我在使用代码时遇到以下错误:

只有赋值调用递增递减等待和新对象表达式可以用作语句

当我使用此代码时,我会得到:

for (int i = enemies.Count - 1; i >= 0; i-) 
{ 
 enemies[i].Update(gameTime);
 if (enemies[i].Active == false)
 {
  enemies.RemoveAt(i);
 }
}
for (int i = enemies.Count - 1; i >= 0; i--) 
PS:我在I-第一行上得到错误:I>=0;I-

使用I-进行减量。使用两个减号。
这相当于i-=1;或i=i-1;是表达式推进了迭代

这可能是类级别的问题,但更可能的是您没有正确地递减i

应改为:

for (int i = enemies.Count -1; i >= 0; i--) { // etc... }

您只是使用了i-这是不正确的。

您的问题在于for语句,您只有i-而不是i-


由于i-不是一个操作,因此它被视为一条语句。

您的错误位于此行:

for (int i = enemies.Count - 1; i >= 0; i-) 
您需要使用以下代码:

for (int i = enemies.Count - 1; i >= 0; i-) 
{ 
 enemies[i].Update(gameTime);
 if (enemies[i].Active == false)
 {
  enemies.RemoveAt(i);
 }
}
for (int i = enemies.Count - 1; i >= 0; i--) 
你可能是说我-

for (int i = enemies.Count - 1; i >= 0; i--)
错误消息表明某些代码不是完整的语句。对于此行,有3条语句:

int i = enemies.COunt -1;
i >= 0;
i-;
如果您想象在for循环声明之外编写这些行,您会立即看到i-不是完整的代码行

only assignment call increment decrement await and new object expressions can be used as a statement
翻译成简单的措词:

Only assignemnt (variable = value), call ( DoSomething() ), increment (i++), decrement, (i--), await (await DoSomethingAsync() ), and new object (new List<Object>() ) expression can be used as a statement

非常感谢它的工作原理:谢谢它的工作原理:如果你知道答案的话,我还有一个问题:如何让一个列表像公开列表的敌人一样公开@克里斯托斯92,如果你有不同的问题,请发一个新问题。