首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于HashSet<T>的几个小问题

2012-04-20 
关于HashSetT的几个问题1、关于Add方法中的比较方法,为什么我重载了 也重写了Equals,还是能添加两个内

关于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吧,懒得讲了。

热点排行