私はいくつかのクラスを持つ単純なアプリケーションに取り組んでいます。Remove
これはすべて、 でメソッドを使用したいと思ったときに始まりましたList<Car>
。このメソッドでは、タイプのEquals
およびGetHashCode
メソッドをオーバーライドする必要があります。Car
この状況で、Car
クラスに ID プロパティを実装することにしました。そうすれば、私のEquals
メソッドは単に ID が等しいかどうかをチェックし、私のGetHashCode
メソッドは を返しますbase.GetHashCode()
。
これは良いアプローチですか、それとも小さなクラスに GUID を実装するのは面倒ですか? 上で説明した理由がなければ、それは必要ありません。この Car タイプの一意性に対する唯一の要件は、それがList<T>
属するコレクション内で一意であることです。しかし、GUID プロパティを追加することが、GetHashCode
混乱を回避する最も簡単な方法のように思えました。ところで、私の Car タイプには int プロパティはありません。