在删除该位置的上一个键之后,将另一个键和值插入字典?

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 行,然后他说这会引发错误(在他删除该条目之后)。所以他似乎在寻找字典中没有的空位,以便填写。我认为这很清楚。

以上是关于在删除该位置的上一个键之后,将另一个键和值插入字典?的主要内容,如果未能解决你的问题,请参考以下文章

Swift:字典,删除零的键和值

Python 字典方法

Python 字典方法

枚举字典迭代键和值[重复]

使用 min 从字典中获取最低键和值 [重复]

使用键和值约束扩展字典