我有一个字符串列表。
我想删除其中一个:
settings.RecentSearches.Keys.Remove(itemToAdd.Key);
settings.RecentSearches.Keys.Add(itemToAdd.Key);
错误:
Mutating a key collection derived from a dictionary is not allowed.
我想在其中添加和删除值。
我该怎么办?
答案 0 :(得分:6)
您无法从字典的键集合中删除项目。您必须使用Dictionary.Remove从字典中删除该项目。
答案 1 :(得分:1)
嗯,我不是C#背景人。我建议你可以帮助你的一个想法,
答案 2 :(得分:1)
问题是你使用的是Keys.Add和Keys.Remove,而不是Dictionary本身的.Add和.Remove方法。
settings.RecentSearches.Remove(itemToAdd.Key);
settings.RecentSearches.Add(itemToAdd.Key);
答案 3 :(得分:1)
删除强>
settings.RecentSearches.Remove(itemToAdd.Key);
添加强> settings.RecentSearches [itemToAdd.Key] = itemToAdd.Value;
如果密钥已经不存在,这将把密钥添加到字典中。如果密钥已存在,则将覆盖该值。为了避免,覆盖,请进行if检查。