C # - определение хэш-сет с пользовательским ключом

Я используюHashSet а такжеDictionary в C # для реализации структуры графа. У меня проблема с уникальностьюHashSet элементы, когдаHashSet Ключ - это индивидуальный класс. Здесь у меня есть:

public class Point
{
    public int x { get; set; }
    public int y { get; set; }
}

public class Vertex
{
    public Vertex(Point point)
    {
        VertexLabel = point;
    }

    public Point VertexLabel { get; private set; }
}

public class Edge
{
    public Edge(Vertex to, Vertex from, double weight)
    {
        FromVertex = from;
        ToVertex = to;
        Weight = weight;
    }

    public Vertex FromVertex { get; private set; }
    public Vertex ToVertex { get; private set; }
    public double Weight { get; private set; }
}

public class Graph
{
    public Graph()
    {
        _Vertexes = new HashSet();
        _VertexEdgeMapping = new Dictionary();
    }
    private HashSet _Vertexes;
    private Dictionary _VertexEdgeMapping;
}

Проблема в том, что, когда у меня одни и те же вершины, и я хочу добавить их в граф, они дублируются. как я могу определить способ, которымHashSet поймете уникальность моих вершин?

Ответы на вопрос(3)

Ваш ответ на вопрос