public void УдалитьРебро(ебро ребро) { if (ебра.Where(f => f.Equals(ребро)).Any()) { ебра.Remove(ребро); } }
public void ДобавитьРебро(ебро ребро) { if (ебра.Where(f => f.ВекторКонец.НомерВершины == ребро.ВекторКонец.НомерВершины && f.ВекторНачало.НомерВершины == ребро.ВекторНачало.НомерВершины).Any()) { if (MessageBox.Show($@"Ребро c вершинами '{ребро.ВекторНачало.НомерВершины} → {ребро.ВекторКонец.НомерВершины}' уже существует в графе. Удалить его?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } else { УдалитьРебро(ебра.Where(f => f.ВекторКонец.НомерВершины == ребро.ВекторКонец.НомерВершины && f.ВекторНачало.НомерВершины == ребро.ВекторНачало.НомерВершины).Single()); return; } } if (ребро.ВекторНачало.НомерВершины == ребро.ВекторКонец.НомерВершины) { MessageBox.Show($"Начальная и конечная вершина добавляемого ребра, имеет один и тот же номер.", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } ебра.Add(ребро); }