排序列表项

时间:2012-03-12 10:06:06

标签: c# visual-studio-2010 sortedlist

是否可以将项目添加到具有相同值的排序列表中,因为当我尝试这样做时它会显示错误:
“已存在具有相同密钥的条目。”
如果有可能,那怎么样?

4 个答案:

答案 0 :(得分:3)

不可能*按其他用户的说明添加重复的密钥。

在c#中,您可以使用Lookup类,它允许使用相同的键存储多个值。

请参阅:http://msdn.microsoft.com/en-us/library/bb460184.aspx

*有可能,请参阅注释,但只能通过定义一个永远不会返回相等项目的相等性的比较器,这对IMO来说真是个坏主意。

答案 1 :(得分:1)

不,这是不可能的。密钥必须是唯一的。

答案 2 :(得分:0)

密钥应该是唯一的。在MSDN中查看此内容

ArgumentException   - An element with the specified key already exists in the SortedList object.

http://msdn.microsoft.com/en-us/library/system.collections.sortedlist.add.aspx

答案 3 :(得分:0)

定义一个实现IComparer的类。实例化SortedList时,会传入类的实例。查看Knasterbax's answer