gpt4 book ai didi

c# - 为什么 .NET Dictionary 是不可变的?

转载 作者:可可西里 更新时间:2023-11-01 09:16:49 24 4
gpt4 key购买 nike

我声明了一个 Dictionary 类型的对象并尝试向其中添加一些项目。但我什至无法修改该项目的值(value)。键不应该被修改是合理的,但为什么不能修改值呢?谢谢。

    Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("1", "bob");
dict.Add("2", "jack");
dict.Add("3", "wtf");
foreach (string key in dict.Keys)
{
dict[key] = "changed"; //System.InvalidOperationException: Collection was modified
}

最佳答案

您不能修改您在 foreach 循环中迭代的集合。这与字典无关 - dict[key] = "value";foreach 循环之外工作得很好。

关于c# - 为什么 .NET Dictionary<TKey, TValue> 是不可变的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4183293/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com