内联如果确定i ++或i--的statament在for循环中增加

use*_*500 1 c# xamarin.ios

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

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

}
Run Code Online (Sandbox Code Playgroud)

zer*_*kms 8

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

  • 转让声明

  • 调用方法

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

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

  • 使用new创建对象

  • 等待表达

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

i += length < 0 ? -1 : 1
Run Code Online (Sandbox Code Playgroud)