gpt4 book ai didi

c# - 如何在C#中修改字典中的键

转载 作者:IT王子 更新时间:2023-10-29 03:54:46 24 4
gpt4 key购买 nike

如何更改字典中多个键的值。

我有以下字典:

SortedDictionary<int,SortedDictionary<string,List<string>>>

我想遍历这个已排序的字典,如果键值大于一定数量,则将键更改为 key+1。

最佳答案

正如 Jason 所说,您无法更改现有字典条目的键。您必须像这样使用新 key 删除/添加:

// we need to cache the keys to update since we can't
// modify the collection during enumeration
var keysToUpdate = new List<int>();

foreach (var entry in dict)
{
if (entry.Key < MinKeyValue)
{
keysToUpdate.Add(entry.Key);
}
}

foreach (int keyToUpdate in keysToUpdate)
{
SortedDictionary<string, List<string>> value = dict[keyToUpdate];

int newKey = keyToUpdate + 1;

// increment the key until arriving at one that doesn't already exist
while (dict.ContainsKey(newKey))
{
newKey++;
}

dict.Remove(keyToUpdate);
dict.Add(newKey, value);
}

关于c# - 如何在C#中修改字典中的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1937847/

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