示例#1
0
        /// <summary>
        /// Симметричная разность
        /// </summary>
        public ListSet <T> SymmetricDifference(ListSet <T> set)
        {
            var temp      = Intersection(set);
            var tempUnion = Union(set);

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