我正在尝试想出一种在调用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 数组只是一堆整数。我该如何为整数列表创建唯一的哈希值?
edges.GetHashCode
不会根据数组中每个Vector2实例生成哈希值。请注意,edges是一个Vector2数组。 - Simon Whitehead