引用IEnumerable中没有ID的项目

时间:2011-04-29 23:47:14

标签: c#

所以我可能已将自己编入角落,我想知道最好的出路。

我正在编写这个文档编辑器,正在编辑的文档的一个属性是结构列表。该文档存储为XML,因此每个结构都是XML节点及其属性。我的Document类将这些结构公开为IEnumerable。

在我的编辑器中,当鼠标在附近时,我想要突出显示这些结构。我已经完成了识别光标附近的任务。但是现在我必须能够引用该结构的实例,并将其存储在某个地方。找到最接近的那个只是遍历IEnumerable,并返回结构本身。我想我可以使用结构本身作为参考,但是接下来我会在我的显示代码if (thing == nearestThing)中说它并且它会进行哈希码比较或其他什么,对吧?

感觉这是错误的做法,但我也没有这些结构的正确ID。建议?

1 个答案:

答案 0 :(得分:0)

这样没有问题。但请注意,您应该确保==(以及更长的EqualsGetHashcode)可靠地为相同的输入生成相同的结果。