引用IEnumerable中没有ID的项

本文关键字:ID 的项 IEnumerable 引用 | 更新日期: 2023-09-27 17:53:44

我可能已经把自己逼到墙角了,我想知道最好的出路。

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

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

感觉这是错误的方式,但我也没有这些结构的适当ID。建议吗?

引用IEnumerable中没有ID的项

这样做没有问题。但是请记住,您应该确保==(以及更广泛的EqualsGetHashcode)对相同的输入可靠地产生相同的结果。