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