SymmetricDifference
Returns the symmetric difference betweend two collections.
- Use
IEnumerable.Except()
to only return elements in one enumerable object and not the other.
- Use
IEnumerable.Union()
to combine the result of applying that to each object.
using System.Collections.Generic;
using System.Linq;
public static partial class _30s
{
public static IEnumerable<T> SymmetricDifference<T>(IEnumerable<T> a, IEnumerable<T> b)
{
return a.Except(b).Union(b.Except(a));
}
}
int[] a = { 1, 2, 3, 5 };
int[] b = { 1, 2, 4 };
_30s.SymmetricDifference(a, b); // { 3, 5, 4 }