static void Main(string[] args) { var list1 = new EnumerableNode( new Node { Data = 1, Next = new Node { Data = 2, Next = new Node { Data = 3, Next = null } } }); var list2 = new EnumerableNode( new Node { Data = 2, Next = new Node { Data = 3, Next = new Node { Data = 4, Next = null } } }); var merged = list1.Concat(list2).Distinct(); Console.WriteLine(String.Join(",", list1)); Console.WriteLine(String.Join(",", list2)); Console.WriteLine(String.Join(",", merged)); Console.ReadLine(); }
public void GetCountInformation(out CountInformation info) => EnumerableNode.GetCountInformation(_enumerable, out info);
public static System.Linq.ILookup <TKey, TSource> ToLookup <TSource, TKey>(this IEnumerable <TSource> source, Func <TSource, TKey> keySelector, IEqualityComparer <TKey> comparer = null) => EnumerableNode.ExecutePush <TSource, System.Linq.ILookup <TKey, TSource>, ToLookup <TSource, TKey> >(source, new ToLookup <TSource, TKey>(comparer, keySelector));
public static TSource SingleOrDefault <TSource>(this IEnumerable <TSource> source, Func <TSource, bool> predicate) => EnumerableNode.ExecutePush <TSource, TSource, SingleOrDefaultPredicate <TSource> >(source, new SingleOrDefaultPredicate <TSource>(predicate));
public static TSource SingleOrDefault <TSource>(this IEnumerable <TSource> source) => EnumerableNode.ExecutePush <TSource, TSource, SingleOrDefault <TSource> >(source, new SingleOrDefault <TSource>());
public static TSource FirstOrDefault <TSource>(this IEnumerable <TSource> source) => EnumerableNode.ExecutePush <TSource, TSource, FirstOrDefault <TSource> >(source, new FirstOrDefault <TSource>());
public static TSource First <TSource>(this IEnumerable <TSource> source, Func <TSource, bool> predicate) => EnumerableNode.ExecutePush <TSource, TSource, FirstPredicate <TSource> >(source, new FirstPredicate <TSource>(predicate));
public static HashSet <TSource> ToHashSet <TSource>(this IEnumerable <TSource> source, IEqualityComparer <TSource> comparer = null) => EnumerableNode.ExecutePush <TSource, HashSet <TSource>, ToHashSet <TSource> >(source, new ToHashSet <TSource>(comparer));
public static int Count <TSource>(this IEnumerable <TSource> source, Func <TSource, bool> predicate) => EnumerableNode.ExecutePush <TSource, int, CountIf <TSource> >(source, new CountIf <TSource>(predicate));
public static bool Any <TSource>(this IEnumerable <TSource> source, Func <TSource, bool> predicate) => EnumerableNode.ExecutePush <TSource, bool, Any <TSource> >(source, new Any <TSource>(predicate));
public static bool All <TSource>(this IEnumerable <TSource> source, Func <TSource, bool> predicate) => EnumerableNode.ExecutePush <TSource, bool, All <TSource, FuncToIFunc <TSource, bool> > >(source, new All <TSource, FuncToIFunc <TSource, bool> >(new FuncToIFunc <TSource, bool>(predicate)));
public static TResult Aggregate <TSource, TAccumulate, TResult>(this IEnumerable <TSource> source, TAccumulate seed, Func <TAccumulate, TSource, TAccumulate> func, Func <TAccumulate, TResult> resultSelector) => resultSelector(EnumerableNode.ExecutePush <TSource, TAccumulate, FoldForward <TSource, TAccumulate> >(source, new FoldForward <TSource, TAccumulate>(func, seed)));
public static TAccumulate Aggregate <TSource, TAccumulate>(this IEnumerable <TSource> source, TAccumulate seed, Func <TAccumulate, TSource, TAccumulate> func) => EnumerableNode.ExecutePush <TSource, TAccumulate, FoldForward <TSource, TAccumulate> >(source, new FoldForward <TSource, TAccumulate>(func, seed));
public static TSource Aggregate <TSource>(this IEnumerable <TSource> source, Func <TSource, TSource, TSource> func) => EnumerableNode.ExecutePush <TSource, TSource, ReduceForward <TSource> >(source, new ReduceForward <TSource>(func));
CreationType INode.CreateViaPullDescend <CreationType, TNodes>(ref TNodes nodes) => EnumerableNode.CreateObjectDescent <T, CreationType, TNodes>(ref nodes, _enumerable);
public static bool Contains <TSource>(this IEnumerable <TSource> source, TSource value, IEqualityComparer <TSource> comparer) => EnumerableNode.ExecutePush <TSource, bool, ContainsByComparer <TSource> >(source, new ContainsByComparer <TSource>(comparer, value));
public static Dictionary <TKey, TValue> ToDictionary <TSource, TKey, TValue>(this IEnumerable <TSource> source, Func <TSource, TKey> keySelector, Func <TSource, TValue> elementSelector, IEqualityComparer <TKey> comparer = null) => EnumerableNode.ExecutePush <TSource, Dictionary <TKey, TValue>, ToDictionary <TSource, TKey, TValue> >(source, new ToDictionary <TSource, TKey, TValue>(keySelector, elementSelector, comparer));