【发布时间】:2016-08-25 06:32:00
【问题描述】:
我有一本字典:
Dictionary<HashSet<myClass>, List<MyObj>> myDict = ...
我有:
HashSet<myClass> myHashSet = ...
我想检查字典 (myDict) 是否包含 myHashSet。
我尝试覆盖两种方法:
1) 相等
2) 获取哈希码
public class myClass
{
public string id;
public int number;
public override bool Equals(object obj)
{
myClass other = obj as myClass;
bool ret = false;
if (other != null)
{
ret = (this.number == other.number) && (this.id == other.id);
}
return ret;
}
public override int GetHashCode()
{
return this.number ^ this.id.GetHashCode();
}
};
不幸的是,在字典中找到的键对代码返回 false:
myDict.ContainsKey(myHashSet)
任何帮助表示赞赏!
【问题讨论】:
标签: c# dictionary hashset containskey