1

データに基づいてクラスのハッシュキーを作成する簡単な方法はありますか??? またはそのためのインターフェース?

私は持っていDictionary<MyClass, int>ます。

MyClass は非常に単純で、名前と文字列配列が含まれています。

class MyClass
{
    public string Name {get; private set;}
    public string[] Attributes {get; private set; }

    //and a constructor and some methods
}

ここで、MyClass同じ名前と属性を含む 2 つのインスタンスがある場合、その辞書が同じキーを持っているかのように考慮する必要があります。

私はそれを構造体にしようとし、Dictionary<string[], int>同様に作成しようとしましたが、3つのケースはすべて同じで、辞書は同じデータであってもインスタンスごとに異なるキーを認識します。

名前とすべてのパラメーターを取得するアルゴリズムを使用して文字列キーを作成し、 を作成することもできますが、Dictionary<string, int>もっと自動化したいと思います。他に方法はありますか?おそらくインターフェース(アルゴリズムを回避するわけではありませんが、何もないよりはましです)。

4

1 に答える 1

4

Equals()インスタンスをオーバーライドしGetHashCode()て値で比較する必要があります。

于 2013-05-17T18:02:24.807 に答える