如何在c#中动态更改字典中的键?

Dev*_*evi -2 c#

我在c#中有以下代码,基本上是一个带有一些键及其值的简单字典.现在我想用新密钥更新这个字典中的现有密钥.可能吗?

Dictionary<string, int> dictionary = new Dictionary<string, int>();
dictionary.Add("00", 2);
dictionary.Add("01", 1);
dictionary.Add("02", 0);
dictionary.Add("03", -1);
Run Code Online (Sandbox Code Playgroud)

在某些情况下,我使用键01删除了值.

现在我必须更新已删除密钥下方的密钥,如下所示.

dictionary.Add("00", 2);   
dictionary.Add("01", 0);
dictionary.Add("02", -1);
Run Code Online (Sandbox Code Playgroud)

可能吗?

Mar*_*ell 5

这表明你完全错误地使用字典.字典是键和值之间的映射.如果我们从"字典"(带有单词的东西)中删除一个单词,那么这些定义并不会全部移动一个单词!

要做你想做的事,只需使用一个列表,并使用索引代替你当前使用密钥的方式:

var list = new List<int>();
list.Add(2);
list.Add(1);
list.Add(0);
list.Add(-1);
//...
list.RemoveAt(1);
Run Code Online (Sandbox Code Playgroud)

现在列表是{index,value}: {0, 2}, {1, 0}, {2, -1}