for-loop to foreach with negative(i--) 语句

for-loop to foreach with negative(i--) statement

如果我有数据列表,我想用循环删除单独的行(不是批量删除)。

这是我的代码

var objecctCount = listItemsDelete.Count;
for (int i = objecctCount; i > 0; i--)
{
    listItemsDelete[i].DeleteObject();
    spDataContext.ExecuteQuery();
}

其中,

我的逻辑运行良好。 我的问题是,是否可以将 for 循环更改为带有负 statement 的 foreach?因为我对 foreach 的了解有助于使用肯定语句 (I++)。

所以你想反转循环?

foreach(var obj in listItemsDelete.Reverse())
{
    obj.DeleteObject();
    spDataContext.ExecuteQuery();
}

由于您使用的是 .NET 2,因此无法使用 LINQ。继续你的 f​​or 循环,但修复以下错误。

而不是

for (int i = objecctCount; i > 0; i--)
// ...

使用这个:

for (int i = objecctCount - 1; i >= 0; i--)
// ...