我想了解爲什麼我的條件if語句給我一個編譯錯誤。 這是不正確的?內聯,如果statament確定i ++或i--遞增for循環
for(int i=startAt; i>=_itemsList.Count; length < 0 ? i-- : i++;)
{
}
我想了解爲什麼我的條件if語句給我一個編譯錯誤。 這是不正確的?內聯,如果statament確定i ++或i--遞增for循環
for(int i=startAt; i>=_itemsList.Count; length < 0 ? i-- : i++;)
{
}
按照MSDN應該的錯誤消息,說的話之一:
賦值語句的方法
前綴或後綴增量表達
調用,如++ i或i ++
前綴或後綴減量表達,如--I或我 -
通過使用新
創建的對象的等待表達
一個怪異編譯解決方案將是:
i += length < 0 ? -1 : 1
良好的解決方法。 –
這不是一種解決方法。我也讀過這個文檔。我真的需要知道的是我怎麼能有一個條件迭代,這將是++(向前)或 - (反向)在C#取決於某些條件? – user1060500
@ user1060500:這**是**解決方法。我的表情確實是你想要的,並且在語法上是正確的 – zerkms
最好的答案是zerkms,但應該工作的另一個解決方案。
int dummy = 0;
for(int i=startAt; i>=_itemsList.Count; dummy++)
{
// Do your thing
length < 0 ? i-- : i++;
}
確切的錯誤是什麼?你到底有什麼額外的';'? – zerkms
我加了;只是爲了看看它是否會在那裏工作 - 但它原來並不存在 – user1060500
錯誤CS0201:只能將賦值,調用,增量,減量和新對象表達式用作語句(CS0201) – user1060500