读书人

关于HashSetlt;Tgt;的几个小问题

发布时间: 2012-04-20 15:27:03 作者: rapoo

关于HashSet<T>的几个问题
1、关于Add方法中的比较方法,为什么我重载了 == 也重写了Equals,还是能添加两个内容一样,引用不一样的对象。
var m = new MyClass(1);
myHashSet.Add( m );  //True
myHashSet.Add(new MyClass(1));  //False

2、MS提供的类库功能非常强,但有许多都用不到,比如对于 集 这个东西,我只需要简单的功能,使用MS提供的会不会影响运行速度和内存,大家遇到这个问题时是不是自己重写啊。

[解决办法]
不是自己写,MS已经做得很好了。
[解决办法]
GetHashCode()
Equals()
这两个是要配对重写的。具体规则见MSDN吧,懒得讲了。

读书人网 >C#

热点推荐