C# ImageList.ImageCollection如何处理重复项?

C# ImageList.ImageCollection如何处理重复项?,c#,.net,C#,.net,在C#.NET中,如何处理重复键?它会用相同的键覆盖条目,还是抛出/不执行操作?有关此函数的MSDN文档没有提及这方面的行为。查看Reflector中的代码,它在内部使用ArrayList存储密钥,因此当您按密钥访问图像时,它将返回与该键一起添加的第一项。我已经查看了ImageList.ImageCollection的源代码,但没有看到任何重复的键检查代码 在内部,ImageCollection使用ImageInfo类的ArrayList来存储键(ImageInfo包含一个字符串Key字段)。它

在C#.NET中,如何处理重复键?它会用相同的键覆盖条目,还是抛出/不执行操作?有关此函数的MSDN文档没有提及这方面的行为。

查看Reflector中的代码,它在内部使用ArrayList存储密钥,因此当您按密钥访问图像时,它将返回与该键一起添加的第一项。

我已经查看了
ImageList.ImageCollection的源代码,但没有看到任何重复的键检查代码


在内部,
ImageCollection
使用
ImageInfo
类的
ArrayList
来存储键(
ImageInfo
包含一个字符串
Key
字段)。它的操作实际上效率很低,因为它不是哈希表,而是通过迭代ArrayList中存储的每个
ImageInfo
,并返回第一个匹配的索引(即O(n)搜索),se
ImageList.ImageCollection.IndexOfKey
,来执行字符串查找。因此,添加具有相同键的第二个图像将导致键无法访问该图像,但索引仍可访问该图像。

为什么不试试?这可能比等待答案要快……同样有趣的是,RemoveByKey()@ThomasLevesque中的“键比较不区分大小写”我没有提到快速获得答案很重要。如果你不知道狮子会攻击人类,你会用棍子戳一戳来发现吗?“你的评论既愚蠢又毫无帮助。”罗伯特戴利,这有什么关系?你是否冒着生命危险花5分钟编写一个小测试程序?我只是建议,有时你可以很容易地找到答案自己…+1提到反射器,我会在未来使用这个工具!