1

私は辞書を持っています:

Dictionary<HashSet<myClass>, List<MyObj>> myDict = ...

そして、私が持っています:

HashSet<myClass> myHashSet = ...

辞書 (myDict) に myHashSet が含まれているかどうかを確認したい。

私は2つの方法をオーバーライドしようとしました:

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)

どんな助けでも大歓迎です!

4

2 に答える 2