Skip to content

API Changes

Atif Aziz edited this page May 2, 2017 · 11 revisions

v2.4.0

Added

  • MoreLinq.MoreEnumerable
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,T,T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,T,T,T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,T,T,T,T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,T,T,T,T,T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,T,T,T,T,T,T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,T,T,T,T,T,T,T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,T,T,T,T,T,T,T,T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,T,T,T,T,T,T,T,T,T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,T,T,T,T,T,T,T,T,T,T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,T,T,T,T,T,T,T,T,T,T,T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,TResult> folder)
    • public static ValueTuple<IEnumerable<T>IEnumerable<T>> Partition(IEnumerable<T> source,Func<T,bool> predicate)
    • public static TResult Partition(IEnumerable<T> source,Func<T,bool> predicate,Func<IEnumerable<T>IEnumerable<T>TResult> resultSelector)
    • public static TResult Partition(IEnumerable<IGrouping<bool,T>> source,Func<IEnumerable<T>IEnumerable<T>TResult> resultSelector)
    • public static TResult Partition(IEnumerable<IGrouping<Nullable<bool>T>> source,Func<IEnumerable<T>IEnumerable<T>IEnumerable<T>TResult> resultSelector)
    • public static TResult Partition(IEnumerable<IGrouping<TKey,TElement>> source,TKey key,Func<IEnumerable<TElement>IEnumerable<IGrouping<TKey,TElement>>TResult> resultSelector)
    • public static TResult Partition(IEnumerable<IGrouping<TKey,TElement>> source,TKey key,IEqualityComparer<TKey> comparer,Func<IEnumerable<TElement>IEnumerable<IGrouping<TKey,TElement>>TResult> resultSelector)
    • public static TResult Partition(IEnumerable<IGrouping<TKey,TElement>> source,TKey key1,TKey key2,Func<IEnumerable<TElement>IEnumerable<TElement>IEnumerable<IGrouping<TKey,TElement>>TResult> resultSelector)
    • public static TResult Partition(IEnumerable<IGrouping<TKey,TElement>> source,TKey key1,TKey key2,IEqualityComparer<TKey> comparer,Func<IEnumerable<TElement>IEnumerable<TElement>IEnumerable<IGrouping<TKey,TElement>>TResult> resultSelector)
    • public static TResult Partition(IEnumerable<IGrouping<TKey,TElement>> source,TKey key1,TKey key2,TKey key3,Func<IEnumerable<TElement>IEnumerable<TElement>IEnumerable<TElement>IEnumerable<IGrouping<TKey,TElement>>TResult> resultSelector)
    • public static TResult Partition(IEnumerable<IGrouping<TKey,TElement>> source,TKey key1,TKey key2,TKey key3,IEqualityComparer<TKey> comparer,Func<IEnumerable<TElement>IEnumerable<TElement>IEnumerable<TElement>IEnumerable<IGrouping<TKey,TElement>>TResult> resultSelector)
    • public static Dictionary<TKey,TValue> ToDictionary(IEnumerable<KeyValuePair<TKey,TValue>> source)
    • public static Dictionary<TKey,TValue> ToDictionary(IEnumerable<KeyValuePair<TKey,TValue>> source,IEqualityComparer<TKey> comparer)
    • public static Dictionary<TKey,TValue> ToDictionary(IEnumerable<ValueTuple<TKey,TValue>> source)
    • public static Dictionary<TKey,TValue> ToDictionary(IEnumerable<ValueTuple<TKey,TValue>> source,IEqualityComparer<TKey> comparer)
    • public static ILookup<TKey,TValue> ToLookup(IEnumerable<KeyValuePair<TKey,TValue>> source)
    • public static ILookup<TKey,TValue> ToLookup(IEnumerable<KeyValuePair<TKey,TValue>> source,IEqualityComparer<TKey> comparer)
    • public static ILookup<TKey,TValue> ToLookup(IEnumerable<ValueTuple<TKey,TValue>> source)
    • public static ILookup<TKey,TValue> ToLookup(IEnumerable<ValueTuple<TKey,TValue>> source,IEqualityComparer<TKey> comparer)

v2.3.0

Added

  • MoreLinq.MoreEnumerable
    • public static TSource AggregateRight(IEnumerable<TSource> source,Func<TSource,TSource,TSource> func)
    • public static TAccumulate AggregateRight(IEnumerable<TSource> source,TAccumulate seed,Func<TSource,TAccumulate,TAccumulate> func)
    • public static TResult AggregateRight(IEnumerable<TSource> source,TAccumulate seed,Func<TSource,TAccumulate,TAccumulate> func,Func<TAccumulate,TResult> resultSelector)
    • public static IEnumerable<TResult> Unfold(TState state,Func<TState,T> generator,Func<T,bool> predicate,Func<T,TState> stateSelector,Func<T,TResult> resultSelector)

v2.2.0

Added

  • MoreLinq.MoreEnumerable
    • public static IEnumerable<T> Repeat(IEnumerable<T> sequence)
    • public static IEnumerable<int> Sequence(Int32 start,Int32 stop)
    • public static IEnumerable<int> Sequence(Int32 start,Int32 stop,Int32 step)
    • public static IEnumerable<T> SkipLast(IEnumerable<T> source,Int32 count)

v2.1.0

Added

  • MoreLinq.MoreEnumerable
    • public static bool AtLeast(IEnumerable<T> source,Int32 count)
    • public static bool AtMost(IEnumerable<T> source,Int32 count)
    • public static bool CountBetween(IEnumerable<T> source,Int32 min,Int32 max)
    • public static bool Exactly(IEnumerable<T> source,Int32 count)
    • public static IEnumerable<T> FillBackward(IEnumerable<T> source)
    • public static IEnumerable<T> FillBackward(IEnumerable<T> source,Func<T,bool> predicate)
    • public static IEnumerable<T> FillBackward(IEnumerable<T> source,Func<T,bool> predicate,Func<T,T,T> fillSelector)
    • public static IEnumerable<T> FillForward(IEnumerable<T> source)
    • public static IEnumerable<T> FillForward(IEnumerable<T> source,Func<T,bool> predicate)
    • public static IEnumerable<T> FillForward(IEnumerable<T> source,Func<T,bool> predicate,Func<T,T,T> fillSelector)

v2.0.0

Added

  • MoreLinq.OrderByDirection
  • MoreLinq.MoreEnumerable
    • public static IEnumerable<TSource> Assert(IEnumerable<TSource> source,Func<TSource,bool> predicate)
    • public static IEnumerable<TSource> Assert(IEnumerable<TSource> source,Func<TSource,bool> predicate,Func<TSource,Exception> errorSelector)
    • public static bool AtLeast(IEnumerable<TSource> source,Int32 count)
    • public static IEnumerable<TResult> Cartesian(IEnumerable<TFirst> first,IEnumerable<TSecond> second,Func<TFirst,TSecond,TResult> resultSelector)
    • public static IEnumerable<KeyValuePair<TKey,int>> CountBy(IEnumerable<TSource> source,Func<TSource,TKey> keySelector)
    • public static IEnumerable<KeyValuePair<TKey,int>> CountBy(IEnumerable<TSource> source,Func<TSource,TKey> keySelector,IEqualityComparer<TKey> comparer)
    • public static bool EndsWith(IEnumerable<T> first,IEnumerable<T> second)
    • public static bool EndsWith(IEnumerable<T> first,IEnumerable<T> second,IEqualityComparer<T> comparer)
    • public static IEnumerable<TResult> EquiZip(IEnumerable<T1> first,IEnumerable<T2> second,IEnumerable<T3> third,Func<T1,T2,T3,TResult> resultSelector)
    • public static IEnumerable<TResult> EquiZip(IEnumerable<T1> first,IEnumerable<T2> second,IEnumerable<T3> third,IEnumerable<T4> fourth,Func<T1,T2,T3,T4,TResult> resultSelector)
    • public static IEnumerable<T> Exclude(IEnumerable<T> sequence,Int32 startIndex,Int32 count)
    • public static IEnumerable<T> FallbackIfEmpty(IEnumerable<T> source,T fallback)
    • public static IEnumerable<T> FallbackIfEmpty(IEnumerable<T> source,T fallback1,T fallback2)
    • public static IEnumerable<T> FallbackIfEmpty(IEnumerable<T> source,T fallback1,T fallback2,T fallback3)
    • public static IEnumerable<T> FallbackIfEmpty(IEnumerable<T> source,T fallback1,T fallback2,T fallback3,T fallback4)
    • public static IEnumerable<T> FallbackIfEmpty(IEnumerable<T> source,T[] fallback)
    • public static IEnumerable<T> FallbackIfEmpty(IEnumerable<T> source,IEnumerable<T> fallback)
    • public static IEnumerable<TResult> FullGroupJoin(IEnumerable<TFirst> first,IEnumerable<TSecond> second,Func<TFirst,TKey> firstKeySelector,Func<TSecond,TKey> secondKeySelector,Func<TKey,IEnumerable<TFirst>IEnumerable<TSecond>TResult> resultSelector)
    • public static IEnumerable<TResult> FullGroupJoin(IEnumerable<TFirst> first,IEnumerable<TSecond> second,Func<TFirst,TKey> firstKeySelector,Func<TSecond,TKey> secondKeySelector,Func<TKey,IEnumerable<TFirst>IEnumerable<TSecond>TResult> resultSelector,IEqualityComparer<TKey> comparer)
    • public static IEnumerable<TResult> GroupAdjacent(IEnumerable<TSource> source,Func<TSource,TKey> keySelector,Func<TKey,IEnumerable<TSource>TResult> resultSelector)
    • public static IEnumerable<TResult> GroupAdjacent(IEnumerable<TSource> source,Func<TSource,TKey> keySelector,Func<TKey,IEnumerable<TSource>TResult> resultSelector,IEqualityComparer<TKey> comparer)
    • public static IEnumerable<TResult> Incremental(IEnumerable<TSource> sequence,Func<TSource,TSource,TResult> resultSelector)
    • public static IEnumerable<TResult> Incremental(IEnumerable<TSource> sequence,Func<TSource,TSource,int,TResult> resultSelector)
    • public static IEnumerable<T> Interleave(IEnumerable<T> sequence,IEnumerable<T>[] otherSequences)
    • public static IEnumerable<TResult> Lag(IEnumerable<TSource> source,Int32 offset,Func<TSource,TSource,TResult> resultSelector)
    • public static IEnumerable<TResult> Lag(IEnumerable<TSource> source,Int32 offset,TSource defaultLagValue,Func<TSource,TSource,TResult> resultSelector)
    • public static IEnumerable<TResult> Lead(IEnumerable<TSource> source,Int32 offset,Func<TSource,TSource,TResult> resultSelector)
    • public static IEnumerable<TResult> Lead(IEnumerable<TSource> source,Int32 offset,TSource defaultLeadValue,Func<TSource,TSource,TResult> resultSelector)
    • public static IEnumerable<Action> NestedLoops(Action action,IEnumerable<int> loopCounts)
    • public static IOrderedEnumerable<T> OrderBy(IEnumerable<T> source,Func<T,TKey> keySelector,OrderByDirection direction)
    • public static IOrderedEnumerable<T> OrderBy(IEnumerable<T> source,Func<T,TKey> keySelector,IComparer<TKey> comparer,OrderByDirection direction)
    • public static IOrderedEnumerable<T> ThenBy(IOrderedEnumerable<T> source,Func<T,TKey> keySelector,OrderByDirection direction)
    • public static IOrderedEnumerable<T> ThenBy(IOrderedEnumerable<T> source,Func<T,TKey> keySelector,IComparer<TKey> comparer,OrderByDirection direction)
    • public static IEnumerable<T> PartialSort(IEnumerable<T> source,Int32 count)
    • public static IEnumerable<T> PartialSort(IEnumerable<T> source,Int32 count,OrderByDirection direction)
    • public static IEnumerable<T> PartialSort(IEnumerable<T> source,Int32 count,IComparer<T> comparer)
    • public static IEnumerable<T> PartialSort(IEnumerable<T> source,Int32 count,IComparer<T> comparer,OrderByDirection direction)
    • public static IEnumerable<TSource> PartialSortBy(IEnumerable<TSource> source,Int32 count,Func<TSource,TKey> keySelector)
    • public static IEnumerable<TSource> PartialSortBy(IEnumerable<TSource> source,Int32 count,Func<TSource,TKey> keySelector,OrderByDirection direction)
    • public static IEnumerable<TSource> PartialSortBy(IEnumerable<TSource> source,Int32 count,Func<TSource,TKey> keySelector,IComparer<TKey> comparer)
    • public static IEnumerable<TSource> PartialSortBy(IEnumerable<TSource> source,Int32 count,Func<TSource,TKey> keySelector,IComparer<TKey> comparer,OrderByDirection direction)
    • public static IEnumerable<IList<T>> Permutations(IEnumerable<T> sequence)
    • public static IEnumerable<int> Random()
    • public static IEnumerable<int> Random(Random rand)
    • public static IEnumerable<int> Random(Int32 maxValue)
    • public static IEnumerable<int> Random(Random rand,Int32 maxValue)
    • public static IEnumerable<int> Random(Int32 minValue,Int32 maxValue)
    • public static IEnumerable<int> Random(Random rand,Int32 minValue,Int32 maxValue)
    • public static IEnumerable<double> RandomDouble()
    • public static IEnumerable<double> RandomDouble(Random rand)
    • public static IEnumerable<T> RandomSubset(IEnumerable<T> sequence,Int32 subsetSize)
    • public static IEnumerable<T> RandomSubset(IEnumerable<T> sequence,Int32 subsetSize,Random rand)
    • public static IEnumerable<int> Rank(IEnumerable<TSource> source)
    • public static IEnumerable<int> Rank(IEnumerable<TSource> source,IComparer<TSource> comparer)
    • public static IEnumerable<int> RankBy(IEnumerable<TSource> source,Func<TSource,TKey> keySelector)
    • public static IEnumerable<int> RankBy(IEnumerable<TSource> source,Func<TSource,TKey> keySelector,IComparer<TKey> comparer)
    • public static IEnumerable<T> Repeat(IEnumerable<T> sequence,Int32 count)
    • public static IEnumerable<KeyValuePair<T,int>> RunLengthEncode(IEnumerable<T> sequence)
    • public static IEnumerable<KeyValuePair<T,int>> RunLengthEncode(IEnumerable<T> sequence,IEqualityComparer<T> comparer)
    • public static IEnumerable<IEnumerable<T>> Segment(IEnumerable<T> source,Func<T,bool> newSegmentPredicate)
    • public static IEnumerable<IEnumerable<T>> Segment(IEnumerable<T> source,Func<T,int,bool> newSegmentPredicate)
    • public static IEnumerable<IEnumerable<T>> Segment(IEnumerable<T> source,Func<T,T,int,bool> newSegmentPredicate)
    • public static IEnumerable<T> Slice(IEnumerable<T> sequence,Int32 startIndex,Int32 count)
    • public static IEnumerable<TSource> SortedMerge(IEnumerable<TSource> source,OrderByDirection direction,IEnumerable<TSource>[] otherSequences)
    • public static IEnumerable<TSource> SortedMerge(IEnumerable<TSource> source,OrderByDirection direction,IComparer<TSource> comparer,IEnumerable<TSource>[] otherSequences)
    • public static bool StartsWith(IEnumerable<T> first,IEnumerable<T> second)
    • public static bool StartsWith(IEnumerable<T> first,IEnumerable<T> second,IEqualityComparer<T> comparer)
    • public static IEnumerable<IList<T>> Subsets(IEnumerable<T> sequence)
    • public static IEnumerable<IList<T>> Subsets(IEnumerable<T> sequence,Int32 subsetSize)
    • public static IEnumerable<TResult> TagFirstLast(IEnumerable<TSource> source,Func<TSource,bool,bool,TResult> resultSelector)
    • public static IEnumerable<T> TraverseBreadthFirst(T root,Func<T,IEnumerable<T>> childrenSelector)
    • public static IEnumerable<T> TraverseDepthFirst(T root,Func<T,IEnumerable<T>> childrenSelector)
    • public static IEnumerable<IEnumerable<TSource>> Windowed(IEnumerable<TSource> source,Int32 size)
    • public static IEnumerable<TResult> ZipShortest(IEnumerable<T1> first,IEnumerable<T2> second,IEnumerable<T3> third,Func<T1,T2,T3,TResult> resultSelector)
    • public static IEnumerable<TResult> ZipShortest(IEnumerable<T1> first,IEnumerable<T2> second,IEnumerable<T3> third,IEnumerable<T4> fourth,Func<T1,T2,T3,T4,TResult> resultSelector)
    • public static IEnumerable<TResult> ZipShortest(IEnumerable<TFirst> first,IEnumerable<TSecond> second,Func<TFirst,TSecond,TResult> resultSelector)

Removed

  • MoreLinq.MoreEnumerable
    • public static IEnumerable<TResult> Zip(IEnumerable<TFirst> first,IEnumerable<TSecond> second,Func<TFirst,TSecond,TResult> resultSelector)

v1.4.0

  • MoreLinq.MoreEnumerable
    • public static void ForEach(IEnumerable<T> source,Action<T,int> action)

v1.3.0

Scan bug fix. See issue #97 for details.

v1.2.0

Maintenance release that marks non-CLS compliant members such (see issue #106) and adds missing null-argument checks.

v1.1.1

Bug fix release addressing #102.

v1.1.0

  • MoreLinq.MoreEnumerable
    • public static IEnumerable<T> OrderedMerge(IEnumerable<T> first,IEnumerable<T> second)
    • public static IEnumerable<T> OrderedMerge(IEnumerable<T> first,IEnumerable<T> second,IComparer<T> comparer)
    • public static IEnumerable<T> OrderedMerge(IEnumerable<T> first,IEnumerable<T> second,Func<T,TKey> keySelector)
    • public static IEnumerable<TResult> OrderedMerge(IEnumerable<T> first,IEnumerable<T> second,Func<T,TKey> keySelector,Func<T,TResult> firstSelector,Func<T,TResult> secondSelector,Func<T,T,TResult> bothSelector)
    • public static IEnumerable<TResult> OrderedMerge(IEnumerable<T> first,IEnumerable<T> second,Func<T,TKey> keySelector,Func<T,TResult> firstSelector,Func<T,TResult> secondSelector,Func<T,T,TResult> bothSelector,IComparer<TKey> comparer)
    • public static IEnumerable<TResult> OrderedMerge(IEnumerable<TFirst> first,IEnumerable<TSecond> second,Func<TFirst,TKey> firstKeySelector,Func<TSecond,TKey> secondKeySelector,Func<TFirst,TResult> firstSelector,Func<TSecond,TResult> secondSelector,Func<TFirst,TSecond,TResult> bothSelector)
    • public static IEnumerable<TResult> OrderedMerge(IEnumerable<TFirst> first,IEnumerable<TSecond> second,Func<TFirst,TKey> firstKeySelector,Func<TSecond,TKey> secondKeySelector,Func<TFirst,TResult> firstSelector,Func<TSecond,TResult> secondSelector,Func<TFirst,TSecond,TResult> bothSelector,IComparer<TKey> comparer)
    • public static IEnumerable<TState> Scan(IEnumerable<TSource> source,TState seed,Func<TState,TSource,TState> transformation)

v1.0.16006

This release contains minor internal implementation changes. There were no changes to the public API.

v1.0.15631

  • MoreLinq.MoreEnumerable
    • public static TResult Fold(IEnumerable<T> source,Func<T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,TResult> folder)
    • public static TResult Fold(IEnumerable<T> source,Func<T,T,T,T,TResult> folder)
    • public static string ToDelimitedString(IEnumerable<string> source)
    • public static string ToDelimitedString(IEnumerable<string> source,String delimiter)
    • public static string ToDelimitedString(IEnumerable<bool> source)
    • public static string ToDelimitedString(IEnumerable<bool> source,String delimiter)
    • public static string ToDelimitedString(IEnumerable<sbyte> source)
    • public static string ToDelimitedString(IEnumerable<sbyte> source,String delimiter)
    • public static string ToDelimitedString(IEnumerable<byte> source)
    • public static string ToDelimitedString(IEnumerable<byte> source,String delimiter)
    • public static string ToDelimitedString(IEnumerable<char> source)
    • public static string ToDelimitedString(IEnumerable<char> source,String delimiter)
    • public static string ToDelimitedString(IEnumerable<short> source)
    • public static string ToDelimitedString(IEnumerable<short> source,String delimiter)
    • public static string ToDelimitedString(IEnumerable<int> source)
    • public static string ToDelimitedString(IEnumerable<int> source,String delimiter)
    • public static string ToDelimitedString(IEnumerable<long> source)
    • public static string ToDelimitedString(IEnumerable<long> source,String delimiter)
    • public static string ToDelimitedString(IEnumerable<float> source)
    • public static string ToDelimitedString(IEnumerable<float> source,String delimiter)
    • public static string ToDelimitedString(IEnumerable<double> source)
    • public static string ToDelimitedString(IEnumerable<double> source,String delimiter)
    • public static string ToDelimitedString(IEnumerable<decimal> source)
    • public static string ToDelimitedString(IEnumerable<decimal> source,String delimiter)
    • public static string ToDelimitedString(IEnumerable<ushort> source)
    • public static string ToDelimitedString(IEnumerable<ushort> source,String delimiter)
    • public static string ToDelimitedString(IEnumerable<uint> source)
    • public static string ToDelimitedString(IEnumerable<uint> source,String delimiter)
    • public static string ToDelimitedString(IEnumerable<ulong> source)
    • public static string ToDelimitedString(IEnumerable<ulong> source,String delimiter)
Clone this wiki locally