/// <summary> /// Симметричная разность /// </summary> public ListSet <T> SymmetricDifference(ListSet <T> set) { var temp = Intersection(set); var tempUnion = Union(set); return(tempUnion.Difference(temp)); }
/// <summary> /// Содержит ли множество заданное подмножество /// </summary> public bool IsSubset(ListSet <T> set) { return(set.items.All(i => items.Contains(i))); }
/// <summary> /// Пересечение множеств /// </summary> /// <returns></returns> public ListSet <T> Intersection(ListSet <T> set) { return(new ListSet <T>(items.Intersect(set.items))); }
/// <summary> /// Разность множеств /// </summary> /// <returns></returns> public ListSet <T> Difference(ListSet <T> set) { return(new ListSet <T>(items.Except(set.items))); }
/// <summary> /// Объединение множеств /// </summary> /// <returns></returns> public ListSet <T> Union(ListSet <T> set) { return(new ListSet <T>(items.Union(set.items))); }