Vector2 []から呼び出されたときにGetHashCode()をオーバーライドする方法を考えようとしています。このコードは、等しいことがわかっているオブジェクトに対して一意でないハッシュを生成します。次のクラスに同じ長方形を渡すと、異なるハッシュコードが生成されます。
public Shape(Rectangle r)
{
edges = new Vector2[4];
edges[0] = new Vector2(0, 0);
edges[1] = new Vector2(r.Width, 0);
edges[2] = new Vector2(r.Width, r.Height);
edges[3] = new Vector2(0, r.Height);
Console.Write(edges.GetHashCode() + "\n");
Position = new Vector2(r.X, r.Y);
}
Vector2配列は単なるintの集まりです。intのリストに一意のハッシュを作成するにはどうすればよいですか?