如何在字典
中按值更改键?
我有这样的代码:
public Dictionary<string, int> Groups = new Dictionary<string, int>();
Groups.Add("apple", 0);
我需要这样做:
Groups.Update("0") = "pear"
最佳答案
您很可能不想这样做。这里有一些变量:
之前的键值对会发生什么情况?
apple
会被pear
改变吗?如果
pear
已经存在怎么办?它的值会发生什么变化?如果您有多个具有相同值的键(例如,
苹果 => 0
,橙色 => 0
。Update("0") = "pear"
会尝试将两个键设置为pear
,这是不可能的,其中一个会消失
如果您仍然确定要执行此操作,则只需遍历 KeyValuePair
并找到 Value
为 0
的项目即可。然后删除其 Key
并添加新的 key => value 对以及新的 key 和旧的 value。
var key = "";
foreach (var item in dictionary)
{
if (item.Value == "desired_value")
{
key = item.Key
break;
}
}
dictionary.Remove(key);
dictionary.Add(newKey, "desired_value");
关于c# - 按值更改字典键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33842277/