所以我可能已将自己编入角落,我想知道最好的出路。
我正在编写这个文档编辑器,正在编辑的文档的一个属性是结构列表。该文档存储为XML,因此每个结构都是XML节点及其属性。我的Document
类将这些结构公开为IEnumerable。
在我的编辑器中,当鼠标在附近时,我想要突出显示这些结构。我已经完成了识别光标附近的任务。但是现在我必须能够引用该结构的实例,并将其存储在某个地方。找到最接近的那个只是遍历IEnumerable,并返回结构本身。我想我可以使用结构本身作为参考,但是接下来我会在我的显示代码if (thing == nearestThing)
中说它并且它会进行哈希码比较或其他什么,对吧?
感觉这是错误的做法,但我也没有这些结构的正确ID。建议?
答案 0 :(得分:0)
这样没有问题。但请注意,您应该确保==
(以及更长的Equals
和GetHashcode
)可靠地为相同的输入生成相同的结果。