sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

C# list删除报错
在C#中,如果您在遍历List的同时尝试删除元素,可能会遇到错误。因为这会改变List的结构,导致枚举器失效。

解决方法:

  1. 使用for循环倒序删除:
点击查看代码
for (int i = list.Count - 1; i >= 0; i--)
{
    if (/* 条件 */)
    {
        list.RemoveAt(i);
    }
}

2.使用List.RemoveAll()方法:

点击查看代码
list.RemoveAll(item => /* 条件 */);

3.使用List.FindAll()找到要删除的元素,然后循环删除:

点击查看代码
foreach (var item in list.FindAll(x => /* 条件 */))
{
    list.Remove(item);
}

4.使用List.Find()和List.FindIndex()组合删除单个元素:

点击查看代码
int index = list.FindIndex(x => /* 条件 */);
if (index != -1)
{
    list.RemoveAt(index);
}

确保在删除元素时不要超出List的范围,否则会抛出ArgumentOutOfRangeException异常。

posted on 2024-03-24 11:45  sunny123456  阅读(345)  评论(0)    收藏  举报