AlgorithmsSetSymmetricDifferenceT Method (IEnumerableT, IEnumerableT) |
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.CollectionsAssembly: X3Platform.Support (in X3Platform.Support.dll) Version: 1.0.0.0 (2.0.0.0)
Syntaxpublic static IEnumerable<T> SetSymmetricDifference<T>(
IEnumerable<T> collection1,
IEnumerable<T> collection2
)
public:
generic<typename T>
static IEnumerable<T>^ SetSymmetricDifference(
IEnumerable<T>^ collection1,
IEnumerable<T>^ collection2
)
Parameters
- collection1
- Type: System.Collections.GenericIEnumerableT
The first collection to symmetric difference. - collection2
- Type: System.Collections.GenericIEnumerableT
The second collection to symmetric difference.
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})"]
Return Value
Type:
IEnumerableTThe symmetric difference of
collection1 and
collection2, considered as sets.
Exceptions
RemarksWhen equal items appear in both collections, the returned collection will include an arbitrary choice of one of the
two equal items.
The default sense of equality for T is used, as defined by T's
implementation of IComparable<T>.Equals or object.Equals.
If both collections are Set, Bag, OrderedSet, or OrderedBag
collections, it is more efficient to use the SymmetricDifference or SymmetricDifferenceWith methods on that class.
See Also