我试图理解为什么我的条件 if 语句给了我一个编译错误。这不正确吗?
for(int i=startAt; i>=_itemsList.Count; length < 0 ? i-- : i++;)
{
}
我试图理解为什么我的条件 if 语句给了我一个编译错误。这不正确吗?
for(int i=startAt; i>=_itemsList.Count; length < 0 ? i-- : i++;)
{
}
根据MSDN,它应该是错误消息中的内容之一:
赋值语句
方法的调用
前缀或后缀增量表达式,例如 ++i 或 i++
前缀或后缀递减表达式,例如 --i 或 i--
使用 new 创建对象
等待表达式
奇怪的可编译解决方案之一是:
i += length < 0 ? -1 : 1
最佳答案是 zerkms,但还有另一种解决方案应该可行。
int dummy = 0;
for(int i=startAt; i>=_itemsList.Count; dummy++)
{
// Do your thing
length < 0 ? i-- : i++;
}