Пример #1
0
    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();
    }
Пример #2
0
 public void GetCountInformation(out CountInformation info) =>
 EnumerableNode.GetCountInformation(_enumerable, out info);
Пример #3
0
 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));
Пример #4
0
 public static TSource SingleOrDefault <TSource>(this IEnumerable <TSource> source, Func <TSource, bool> predicate) =>
 EnumerableNode.ExecutePush <TSource, TSource, SingleOrDefaultPredicate <TSource> >(source, new SingleOrDefaultPredicate <TSource>(predicate));
Пример #5
0
 public static TSource SingleOrDefault <TSource>(this IEnumerable <TSource> source) =>
 EnumerableNode.ExecutePush <TSource, TSource, SingleOrDefault <TSource> >(source, new SingleOrDefault <TSource>());
Пример #6
0
 public static TSource FirstOrDefault <TSource>(this IEnumerable <TSource> source) =>
 EnumerableNode.ExecutePush <TSource, TSource, FirstOrDefault <TSource> >(source, new FirstOrDefault <TSource>());
Пример #7
0
 public static TSource First <TSource>(this IEnumerable <TSource> source, Func <TSource, bool> predicate) =>
 EnumerableNode.ExecutePush <TSource, TSource, FirstPredicate <TSource> >(source, new FirstPredicate <TSource>(predicate));
Пример #8
0
 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));
Пример #9
0
 public static int Count <TSource>(this IEnumerable <TSource> source, Func <TSource, bool> predicate) =>
 EnumerableNode.ExecutePush <TSource, int, CountIf <TSource> >(source, new CountIf <TSource>(predicate));
Пример #10
0
 public static bool Any <TSource>(this IEnumerable <TSource> source, Func <TSource, bool> predicate) =>
 EnumerableNode.ExecutePush <TSource, bool, Any <TSource> >(source, new Any <TSource>(predicate));
Пример #11
0
 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)));
Пример #12
0
 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)));
Пример #13
0
 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));
Пример #14
0
 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));
Пример #15
0
 CreationType INode.CreateViaPullDescend <CreationType, TNodes>(ref TNodes nodes) =>
 EnumerableNode.CreateObjectDescent <T, CreationType, TNodes>(ref nodes, _enumerable);
Пример #16
0
 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));
Пример #17
0
 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));