1

我试图理解为什么我的条件 if 语句给了我一个编译错误。这不正确吗?

for(int i=startAt; i>=_itemsList.Count; length < 0 ? i-- : i++;)
{

}
4

2 回答 2

8

根据MSDN,它应该是错误消息中的内容之一:

  • 赋值语句

  • 方法的调用

  • 前缀或后缀增量表达式,例如 ++i 或 i++

  • 前缀或后缀递减表达式,例如 --i 或 i--

  • 使用 new 创建对象

  • 等待表达式

奇怪的可编译解决方案之一是:

i += length < 0 ? -1 : 1
于 2012-11-18T04:41:50.763 回答
0

最佳答案是 zerkms,但还有另一种解决方案应该可行。

int dummy = 0;
for(int i=startAt; i>=_itemsList.Count; dummy++)
{
  // Do your thing
  length < 0 ? i-- : i++;
}
于 2012-12-18T03:23:53.077 回答