新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

C#字典遍历时能删除元素吗,c#遍历dictionary

发布时间:2024-07-30 14:57:11

C#字典遍用时能删除元素吗

在遍历字典的进程中删除元素是不安全的,会致使遍历进程中出现异常。这是由于在遍历的进程中,字典的结构会产生变化,可能会致使遍历器失效还是引发并发修改异常。

如果需要在遍历进程中删除元素,可以先将需要删除的元素的键搜集起来,然后再遍历这些键进行删除操作。示例代码以下所示:

Dictionary<int, string> dict = new Dictionary<int, string>();

// 添加元素
dict.Add(1, "one");
dict.Add(2, "two");
dict.Add(3, "three");
dict.Add(4, "four");

// 搜集需要删除的键
List<int> keysToRemove = new List<int>();

foreach (var pair in dict)
{
    if (pair.Key % 2 == 0)
    {
        keysToRemove.Add(pair.Key);
    }
}

// 遍历搜集到的键进行删除操作
foreach (var key in keysToRemove)
{
    dict.Remove(key);
}

这样就能够在遍历字典的进程中安全地删除元素。

tiktok粉丝购买:https://www.smmfensi.com/