在删除该位置的上一个键之后,将另一个键和值插入字典?
Posted
技术标签:
【中文标题】在删除该位置的上一个键之后,将另一个键和值插入字典?【英文标题】:Insert another key and value to Dictionary, after Deleting the previous key in that Place? 【发布时间】:2019-08-05 03:44:34 【问题描述】:我从字典中删除了 a 键及其值。现在我需要在空白处重新插入另一个键和值。
我试过检查它是否为空,但它显示了一个异常。
if (slotCount < capacity)
int index = -1;
for (int i = 0; i < capacity; i++)
//finding nearest free slot
if (registration[i] == null)
index = i;
break;
if (index == -1)
Console.WriteLine("No space");
else
slotCount = slotCount + 1;
Console.WriteLine("Enter registration and color separated by a space: ");
regNumber = Console.ReadLine();
registration.Add(slotCount, regNumber);
Console.WriteLine("The entered registration number is: " + regNumber);
Console.WriteLine("Allocated slot is:" + slotCount);
【问题讨论】:
如果删除键,字典中没有空槽……是什么让你认为有?所以也许我误解了这个问题 我需要在空白处重新插入另一个键和值。 字典不是列表或数组,它们没有空位。这让我觉得字典不是你需要的。你可能只想要一个数组 您可以将字典的存储视为一桶水。无论您从桶中的哪个位置取出一加仑,水位都会下降,不会留下空白空间。 【参考方案1】:字典中没有空槽。它不像数组那样是固定大小的集合。当您从字典中删除一个元素时,它几乎就像它从未存在过一样。
如果您想检查字典是否不包含具有特定插槽号的键,那么您可以这样做:
if(registration.ContainsKey(i) == false)
...
【讨论】:
这如何回答 OP 的问题? 如果您想检查字典是否不包含具有特定插槽号的键.. - 这甚至在哪里被问到,您将如何假设这是一个问题并提供答案?? 这是他的问题和发布的代码。他在一个循环中有代码,用于检查他的字典中的“插槽”是否为空,距顶部大约 6 行,然后他说这会引发错误(在他删除该条目之后)。所以他似乎在寻找字典中没有的空位,以便填写。我认为这很清楚。以上是关于在删除该位置的上一个键之后,将另一个键和值插入字典?的主要内容,如果未能解决你的问题,请参考以下文章