Click or drag to resize
AlgorithmsSetSymmetricDifferenceT Method (IEnumerableT, IEnumerableT, IEqualityComparerT)
Computes the set-theoretic symmetric difference of two collections. The symmetric difference of two sets is all items that appear in the one of the sets, but not in the other. If an item appears X times in the one set, and Y times in the other set, the symmetric difference contains the item AbsoluteValue(X - Y) times. The source collections are not changed. A new collection is created with the symmetric difference of the collections; the order of the items in this collection is undefined.

Namespace: X3Platform.Collections
Assembly: X3Platform.Support (in X3Platform.Support.dll) Version: 1.0.0.0 (2.0.0.0)
Syntax
public static IEnumerable<T> SetSymmetricDifference<T>(
	IEnumerable<T> collection1,
	IEnumerable<T> collection2,
	IEqualityComparer<T> equalityComparer
)

Parameters

collection1
Type: System.Collections.GenericIEnumerableT
The first collection to symmetric difference.
collection2
Type: System.Collections.GenericIEnumerableT
The second collection to symmetric difference.
equalityComparer
Type: System.Collections.GenericIEqualityComparerT
The IEqualityComparer<T> used to compare items for equality. Only the Equals and GetHashCode member functions of this interface are called.

Type Parameters

T

[Missing <typeparam name="T"/> documentation for "M:X3Platform.Collections.Algorithms.SetSymmetricDifference``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})"]

Return Value

Type: IEnumerableT
The symmetric difference of collection1 and collection2, considered as sets.
Exceptions
ExceptionCondition
ArgumentNullExceptioncollection1 or collection2 is null.
Remarks

When equal items appear in both collections, the returned collection will include an arbitrary choice of one of the two equal items.

If both collections are Set, Bag, OrderedSet, or OrderedBag collections, it is more efficient to use the symmetric difference or symmetric differenceWith methods on that class.

See Also