中,但是相等是不成立的: var set = new HashSet<Rotation>() {new QuarterRotation(x,0)};
set.Contains(new QuarterRotation(x,0)); // should be true in my mind, but is false 这是由于我的自定义重写的GetHashCode和Equals没有被调用,而是调用了对象版本。这是可行的: var set =
我一直在尝试实现一个自定义对象的HashSet,但是对象特定的GetHashCode和Equals实现从未被调用过。注意-这不是一个学校的项目,而是一个数据库清理,其中几个人做了部分工作,我需要完成分析。下面是VB.Net中的代码(在VS2010、2013和2015中也出现了同样的问题)
Sub Main()S