项目重复问题
我的目标是向列添加插入新值,其中我的列值如下
100 * 100
150 * 150
200 * 200
200 * 200
我收到以下错误:
项目已添加。字典中的键:“200 x 200”正在添加的键:“200 x 200”
对于下一个代码:
SortedList sortedList = new SortedList();
foreach (ListItem listItem in ddldimension.Items)
sortedList.Add(listItem.Text, listItem.Value);
if (!sortedList.ContainsKey(CommonUtilities.GetCustomString("DefaultValues", "defaultEmbedDimension1")))
sortedList.Add(CommonUtilities.GetCustomString("DefaultValues", "defaultEmbedDimension1"), "defaultEmbedDimension1");
if (!sortedList.ContainsKey(CommonUtilities.GetCustomString("DefaultValues", "defaultEmbedDimension2")))
sortedList.Add(CommonUtilities.GetCustomString("DefaultValues", "defaultEmbedDimension2"), "defaultEmbedDimension2");
if (!sortedList.ContainsKey(CommonUtilities.GetCustomString("DefaultValues", "defaultEmbedDimension3")))
sortedList.Add(CommonUtilities.GetCustomString("DefaultValues", "defaultEmbedDimension3"), "defaultEmbedDimension3");
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从您收到的错误消息以及 的文档中排序列表:
因此,SortedList 似乎不是您在应用程序中使用的正确结构。不幸的是,您提供的信息不足以让我提出更好的建议。
From the error message you're getting, and from the documentation for SortedList:
So it would appear that a SortedList isn't the right structure for you to be using in your application. Unfortunately, you've provided insufficient information to allow me to suggest something better.
SortedList
不允许添加重复的键。请改用List<>
(例如,与KeyValuePair
一起使用)(例如List>
)。这是您的代码的解决方案:
通过这种方式,您可以在结构中保留重复的键。请注意,您调用同一方法两次。改为初始化变量:
要填充列表,您也可以使用 LINQ:
另请阅读:Dot Net 上的 C# KeyValuePair 集合提示珀尔斯。
但是,如果您决定禁止重复项并在 SortedList 中温和地处理它们,您可以创建一个扩展:
并像我下面那样使用它,而不会引发异常:
SortedList
does not allow adding duplicate keys. UseList<>
(along withKeyValuePair
for example) instead (eg.List<KeyValuePair<string, object>>
).Here is the solution for your code:
In this way, you allow to keep duplicate keys in your structure. Note you invoke the same method twice. Initialize variable instead:
To populate list, you can alternatively use LINQ:
Read also: C# KeyValuePair Collection Hints at Dot Net Perls.
But if you decide to disallow duplicates and gently deal with them in SortedList, you can create an extension:
And use it as I did below, without throwing exception: