Method DistinctBy
View SourceDistinctBy<TSource, TKey>(IAsyncEnumerable<TSource>, Func<TSource, TKey>)
Returns all distinct elements of the given source, where "distinctness" is determined via a projection and the default equality comparer for the projected type.
Declaration
public static IAsyncEnumerable<TSource> DistinctBy<TSource, TKey>(this IAsyncEnumerable<TSource> source, Func<TSource, TKey> keySelector)
Parameters
Type | Name | Description |
---|---|---|
IAsyncEnumerable<TSource> | source | Source sequence |
Func<TSource, TKey> | keySelector | Projection for determining "distinctness" |
Returns
Type | Description |
---|---|
IAsyncEnumerable<TSource> | A sequence consisting of distinct elements from the source sequence, comparing them by the specified key projection. |
Type Parameters
Name | Description |
---|---|
TSource | Type of the source sequence |
TKey | Type of the projected element |
Remarks
This operator uses deferred execution and streams the results, although a set of already-seen keys is retained. If a key is seen multiple times, only the first element with that key is returned.
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
ArgumentNullException |
|
DistinctBy<TSource, TKey>(IAsyncEnumerable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>?)
Returns all distinct elements of the given source, where "distinctness" is determined via a projection and the specified comparer for the projected type.
Declaration
public static IAsyncEnumerable<TSource> DistinctBy<TSource, TKey>(this IAsyncEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer)
Parameters
Type | Name | Description |
---|---|---|
IAsyncEnumerable<TSource> | source | Source sequence |
Func<TSource, TKey> | keySelector | Projection for determining "distinctness" |
IEqualityComparer<TKey> | comparer | The equality comparer to use to determine whether or not keys are equal.
If null, the default equality comparer for |
Returns
Type | Description |
---|---|
IAsyncEnumerable<TSource> | A sequence consisting of distinct elements from the source sequence, comparing them by the specified key projection. |
Type Parameters
Name | Description |
---|---|
TSource | Type of the source sequence |
TKey | Type of the projected element |
Remarks
This operator uses deferred execution and streams the results, although a set of already-seen keys is retained. If a key is seen multiple times, only the first element with that key is returned.
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
ArgumentNullException |
|