public void AddEdge(string name1, string name2, int length) { if (matrix.Contains(name1) && matrix.Contains(name2)) { Vertex first = matrix.GetVertex(name1); Vertex second = matrix.GetVertex(name2); if (matrix[first, second] == null) { Edge edge = new Edge(length); matrix[first, second] = edge; } } else { throw new VertexDoesNotExistException(); } }