C# 如果字典包含键,请添加带有数字的新键

C# 如果字典包含键,请添加带有数字的新键,c#,dictionary,C#,Dictionary,我正在使用ASP.NET MVC,我正在填充一个字典,并且得到的已经添加了一个具有相同键的项。错误现在我尝试的是,如果该键已经存在于字典中,请在键名称旁边添加一个数字,使其唯一 if (!RedBlueData.ContainsKey(model)) { RedBlueData.Add(model, redBlue); } else { RedBlueData.Add(model, redBlue); } 预期结果是(假设键字符串名称为“Item”,那么如果有另一个键的名称为“

我正在使用ASP.NET MVC,我正在填充一个字典,并且得到的
已经添加了一个具有相同键的项。
错误现在我尝试的是,如果该键已经存在于字典中,请在键名称旁边添加一个数字,使其唯一

if (!RedBlueData.ContainsKey(model))
{
    RedBlueData.Add(model, redBlue);
}
else
{
    RedBlueData.Add(model, redBlue);
}
预期结果是(假设键字符串名称为“Item”,那么如果有另一个键的名称为“Item”,我想将其命名为“Item 2”,如果有第3个或第4个键,则将其命名为“Item 3”和“Item 4”


我希望这是有意义的。

字典而不是
字典来构建自己的多字典怎么样

if(RedBlueData.TryGetValue(模型,输出变量颜色列表))
颜色列表。添加(红蓝);
其他的
Add(模型,新列表{redBlue});

我使用type
Color
作为
redBlue
的类型,因为我不知道它是什么。

如果你用一个新的键添加一个新项目,你如何返回并用新的键找到该项目?如果你不需要返回并查看它,使用字典有什么意义?看起来像是一个什么意义的条件,其中两个分支“他也做同样的事吗?”斯宾德我想OP希望我们填写其余的内容,使假键盘上的键不同condition@user979331您是否考虑过这样的方法?这里有一个基本的哈希表。:@itsme86如何
Dictionary
是一个哈希表实现。它具有多值类型,如
列表
。需要有一些方法来处理冲突。@itsme86我想你不明白
字典
。类已经处理了
字典
实现的哈希表中键级的冲突。如何处理添加到数据结构中的重复(键)项与哈希表无关,而是取决于数据结构的特定类型,例如关联数组与多重映射。哈希表是一个实现细节,冲突也是。我觉得你是故意迟钝。在这里,如果您对什么是哈希表还有疑问,可以阅读。
if (RedBlueData.TryGetValue(model, out var colorList))
    colorList.Add(redBlue);
else
    RedBlueData.Add(model, new List<Color> { redBlue });