用for循环反向遍历您的列表:
for (int i = safePendingList.Count - 1; i >= 0; i--){ // some pre // safePendingList.RemoveAt(i);}例:
var list = new List<int>(Enumerable.Range(1, 10));for (int i = list.Count - 1; i >= 0; i--){ if (list[i] > 5) list.RemoveAt(i);}list.ForEach(i => Console.WriteLine(i));或者,您可以使用带有谓词的RemoveAll方法来测试:
safePendingList.RemoveAll(item => item.Value == somevalue);
这是一个简化的示例来演示:
var list = new List<int>(Enumerable.Range(1, 10));Console.WriteLine("Before:");list.ForEach(i => Console.WriteLine(i));list.RemoveAll(i => i > 5);Console.WriteLine("After:");list.ForEach(i => Console.WriteLine(i));


