Method PartialSortBy
View SourcePartialSortBy<TSource, TKey>(IAsyncEnumerable<TSource>, int, Func<TSource, TKey>)
Executes a partial sort of the top count
elements of a sequence according to the key for each
element. If count
is less than the total number of elements in source
,
then this method will improve performance.
Declaration
public static IAsyncEnumerable<TSource> PartialSortBy<TSource, TKey>(this IAsyncEnumerable<TSource> source, int count, Func<TSource, TKey> keySelector)
Parameters
Type | Name | Description |
---|---|---|
IAsyncEnumerable<TSource> | source | The source sequence. |
int | count | Number of (maximum) elements to return. |
Func<TSource, TKey> | keySelector | A function to extract a key from an element. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<TSource> | A sequence containing at most top |
Type Parameters
Name | Description |
---|---|
TSource | Type of elements in the sequence. |
TKey | Type of keys. |
Remarks
This operation is an O(n * log(K))
where K
is count
.
This operator uses deferred execution and streams it results.
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
ArgumentNullException |
|
ArgumentOutOfRangeException |
|
PartialSortBy<TSource, TKey>(IAsyncEnumerable<TSource>, int, Func<TSource, TKey>, OrderByDirection)
Executes a direction
partial sort of the top count
elements of a sequence
according to the key for each element. If count
is less than the total number of elements in
source
, then this method will improve performance.
Declaration
public static IAsyncEnumerable<TSource> PartialSortBy<TSource, TKey>(this IAsyncEnumerable<TSource> source, int count, Func<TSource, TKey> keySelector, OrderByDirection direction)
Parameters
Type | Name | Description |
---|---|---|
IAsyncEnumerable<TSource> | source | The source sequence. |
int | count | Number of (maximum) elements to return. |
Func<TSource, TKey> | keySelector | A function to extract a key from an element. |
OrderByDirection | direction | The direction in which to sort the elements |
Returns
Type | Description |
---|---|
IAsyncEnumerable<TSource> | A sequence containing at most top |
Type Parameters
Name | Description |
---|---|
TSource | Type of elements in the sequence. |
TKey | Type of keys. |
Remarks
This operation is an O(n * log(K))
where K
is count
.
This operator uses deferred execution and streams it results.
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
ArgumentNullException |
|
ArgumentOutOfRangeException |
|
PartialSortBy<TSource, TKey>(IAsyncEnumerable<TSource>, int, Func<TSource, TKey>, IComparer<TKey>?)
Executes a partial sort of the top count
elements of a sequence according to the key for each
element, using comparer
to compare the keys. If count
is less than the
total number of elements in source
, then this method will improve performance.
Declaration
public static IAsyncEnumerable<TSource> PartialSortBy<TSource, TKey>(this IAsyncEnumerable<TSource> source, int count, Func<TSource, TKey> keySelector, IComparer<TKey>? comparer)
Parameters
Type | Name | Description |
---|---|---|
IAsyncEnumerable<TSource> | source | The source sequence. |
int | count | Number of (maximum) elements to return. |
Func<TSource, TKey> | keySelector | A function to extract a key from an element. |
IComparer<TKey> | comparer | A IComparer<T> to compare elements. |
Returns
Type | Description |
---|---|
IAsyncEnumerable<TSource> | A sequence containing at most top |
Type Parameters
Name | Description |
---|---|
TSource | Type of elements in the sequence. |
TKey | Type of keys. |
Remarks
This operation is an O(n * log(K))
where K
is count
.
This operator uses deferred execution and streams it results.
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
ArgumentNullException |
|
ArgumentOutOfRangeException |
|
PartialSortBy<TSource, TKey>(IAsyncEnumerable<TSource>, int, Func<TSource, TKey>, IComparer<TKey>?, OrderByDirection)
Executes a direction
partial sort of the top count
elements of a sequence
according to the key for each element, using comparer
to compare the keys. If count
is less than the total number of elements in source
, then this method will
improve performance.
Declaration
public static IAsyncEnumerable<TSource> PartialSortBy<TSource, TKey>(this IAsyncEnumerable<TSource> source, int count, Func<TSource, TKey> keySelector, IComparer<TKey>? comparer, OrderByDirection direction)
Parameters
Type | Name | Description |
---|---|---|
IAsyncEnumerable<TSource> | source | The source sequence. |
int | count | Number of (maximum) elements to return. |
Func<TSource, TKey> | keySelector | A function to extract a key from an element. |
IComparer<TKey> | comparer | A IComparer<T> to compare elements. |
OrderByDirection | direction | The direction in which to sort the elements |
Returns
Type | Description |
---|---|
IAsyncEnumerable<TSource> | A sequence containing at most top |
Type Parameters
Name | Description |
---|---|
TSource | Type of elements in the sequence. |
TKey | Type of keys. |
Remarks
This operation is an O(n * log(K))
where K
is count
.
This operator uses deferred execution and streams it results.
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
ArgumentNullException |
|
ArgumentOutOfRangeException |
|