SuperLinq SuperLinq
SuperLinq SuperLinq
DocFX + Singulink = ♥

Search Results for

    Method SortedMerge

    SortedMerge<TSource>(IAsyncEnumerable<TSource>, params IAsyncEnumerable<TSource>[])

    Merges two or more sequences that are in a common order (either ascending or descending) into a single sequence that preserves that order.

    Declaration
    public static IAsyncEnumerable<TSource> SortedMerge<TSource>(this IAsyncEnumerable<TSource> source, params IAsyncEnumerable<TSource>[] otherSequences)
    Parameters
    Type Name Description
    IAsyncEnumerable<TSource> source

    The primary sequence with which to merge

    IAsyncEnumerable<TSource>[] otherSequences

    A variable argument array of zero or more other sequences to merge with

    Returns
    Type Description
    IAsyncEnumerable<TSource>

    A merged, order-preserving sequence containing all of the elements of the original sequences

    Type Parameters
    Name Description
    TSource

    The type of the elements of the sequence

    Remarks

    Using SortedMerge on sequences that are not ordered or are not in the same order produces undefined results.
    This method uses deferred execution and streams its results.

    Here is an example of a merge, as well as the produced result:

    var s1 = new[] { 3, 7, 11 };
    var s2 = new[] { 2, 4, 20 };
    var s3 = new[] { 17, 19, 25 };
    var merged = s1.SortedMerge( OrderByDirection.Ascending, s2, s3 );
    var result = merged.ToArray();
    // result will be:
    // { 2, 3, 4, 7, 11, 17, 19, 20, 25 }
    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentNullException

    otherSequences is null.

    SortedMerge<TSource>(IAsyncEnumerable<TSource>, IComparer<TSource>?, params IAsyncEnumerable<TSource>[])

    Merges two or more sequences that are in a common order (either ascending or descending) into a single sequence that preserves that order.

    Declaration
    public static IAsyncEnumerable<TSource> SortedMerge<TSource>(this IAsyncEnumerable<TSource> source, IComparer<TSource>? comparer, params IAsyncEnumerable<TSource>[] otherSequences)
    Parameters
    Type Name Description
    IAsyncEnumerable<TSource> source

    The primary sequence with which to merge

    IComparer<TSource> comparer

    The comparer used to evaluate the relative order between elements

    IAsyncEnumerable<TSource>[] otherSequences

    A variable argument array of zero or more other sequences to merge with

    Returns
    Type Description
    IAsyncEnumerable<TSource>

    A merged, order-preserving sequence containing all of the elements of the original sequences

    Type Parameters
    Name Description
    TSource

    The type of the elements of the sequence

    Remarks

    Using SortedMerge on sequences that are not ordered or are not in the same order produces undefined results.
    This method uses deferred execution and streams its results.

    Here is an example of a merge, as well as the produced result:

    var s1 = new[] { 3, 7, 11 };
    var s2 = new[] { 2, 4, 20 };
    var s3 = new[] { 17, 19, 25 };
    var merged = s1.SortedMerge( OrderByDirection.Ascending, s2, s3 );
    var result = merged.ToArray();
    // result will be:
    // { 2, 3, 4, 7, 11, 17, 19, 20, 25 }
    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentNullException

    otherSequences is null.

    SortedMerge<TSource>(IAsyncEnumerable<TSource>, OrderByDirection, params IAsyncEnumerable<TSource>[])

    Merges two or more sequences that are in a common order (either ascending or descending) into a single sequence that preserves that order.

    Declaration
    public static IAsyncEnumerable<TSource> SortedMerge<TSource>(this IAsyncEnumerable<TSource> source, OrderByDirection direction, params IAsyncEnumerable<TSource>[] otherSequences)
    Parameters
    Type Name Description
    IAsyncEnumerable<TSource> source

    The primary sequence with which to merge

    OrderByDirection direction

    The ordering that all sequences must already exhibit

    IAsyncEnumerable<TSource>[] otherSequences

    A variable argument array of zero or more other sequences to merge with

    Returns
    Type Description
    IAsyncEnumerable<TSource>

    A merged, order-preserving sequence containing all of the elements of the original sequences

    Type Parameters
    Name Description
    TSource

    The type of the elements of the sequence

    Remarks

    Using SortedMerge on sequences that are not ordered or are not in the same order produces undefined results.
    This method uses deferred execution and streams its results.

    Here is an example of a merge, as well as the produced result:

    var s1 = new[] { 3, 7, 11 };
    var s2 = new[] { 2, 4, 20 };
    var s3 = new[] { 17, 19, 25 };
    var merged = s1.SortedMerge( OrderByDirection.Ascending, s2, s3 );
    var result = merged.ToArray();
    // result will be:
    // { 2, 3, 4, 7, 11, 17, 19, 20, 25 }
    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentNullException

    otherSequences is null.

    SortedMerge<TSource>(IAsyncEnumerable<TSource>, OrderByDirection, IComparer<TSource>?, params IAsyncEnumerable<TSource>[])

    Merges two or more sequences that are in a common order (either ascending or descending) into a single sequence that preserves that order.

    Declaration
    public static IAsyncEnumerable<TSource> SortedMerge<TSource>(this IAsyncEnumerable<TSource> source, OrderByDirection direction, IComparer<TSource>? comparer, params IAsyncEnumerable<TSource>[] otherSequences)
    Parameters
    Type Name Description
    IAsyncEnumerable<TSource> source

    The primary sequence with which to merge

    OrderByDirection direction

    The ordering that all sequences must already exhibit

    IComparer<TSource> comparer

    The comparer used to evaluate the relative order between elements

    IAsyncEnumerable<TSource>[] otherSequences

    A variable argument array of zero or more other sequences to merge with

    Returns
    Type Description
    IAsyncEnumerable<TSource>

    A merged, order-preserving sequence containing all of the elements of the original sequences

    Type Parameters
    Name Description
    TSource

    The type of the elements in the sequence

    Remarks

    Using SortedMerge on sequences that are not ordered or are not in the same order produces undefined results.
    This method uses deferred execution and streams its results.

    Here is an example of a merge, as well as the produced result:

    var s1 = new[] { 3, 7, 11 };
    var s2 = new[] { 2, 4, 20 };
    var s3 = new[] { 17, 19, 25 };
    var merged = s1.SortedMerge( OrderByDirection.Ascending, s2, s3 );
    var result = merged.ToArray();
    // result will be:
    // { 2, 3, 4, 7, 11, 17, 19, 20, 25 }
    Exceptions
    Type Condition
    ArgumentNullException

    source is null.

    ArgumentNullException

    otherSequences is null.

    © SuperLinq Authors. All rights reserved.