内联if语句确定i ++或i--在for循环中递增

时间:2012-11-18 04:35:19

标签: c# xamarin.ios

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

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

}

2 个答案:

答案 0 :(得分:7)

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

  • 作业陈述

  • 调用方法

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

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

  • 使用新的

  • 创建对象
  • 等待表达

其中一个奇怪的可编译解决方案是:

i += length < 0 ? -1 : 1

答案 1 :(得分:0)

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

int dummy = 0;
for(int i=startAt; i>=_itemsList.Count; dummy++)
{
  // Do your thing
  length < 0 ? i-- : i++;
}