📜  c# 在循环中修改字典 - C# (1)

📅  最后修改于: 2023-12-03 14:39:45.787000             🧑  作者: Mango

C# 在循环中修改字典

如果你需要在 C# 中遍历一个字典并且在循环中修改它,那么你需要使用 KeyValuePairToList() 方法来实现。

示例
Dictionary<string, int> dict = new Dictionary<string, int>();
dict.Add("one", 1);
dict.Add("two", 2);
dict.Add("three", 3);

foreach (KeyValuePair<string, int> pair in dict.ToList())
{
    if (pair.Key == "two")
    {
        dict[pair.Key] = 22;
    }
}

在这个示例中,我们创建了一个包含三个元素的字典。接下来,我们使用 foreach 循环遍历该字典中的每个元素。使用 ToList() 方法将字典转换为一个列表,然后使用 KeyValuePair 类型循环遍历列表。

如果键值为 "two",我们将其值修改为 22。这是因为我们不能在循环中直接修改字典,因为这会导致迭代过程中的异常。

总结

通过使用 KeyValuePairToList() 方法,我们可以在循环中修改字典。这样可以避免迭代时的异常,并保证我们可以正确地修改字典中的值。