Method DistinctBy
View SourceDistinctBy<TSource, TKey>(IEnumerable<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
[Obsolete("This method has been implemented by the framework.")]
public static IEnumerable<TSource> DistinctBy<TSource, TKey>(IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<TSource> | source | Source sequence |
Func<TSource, TKey> | keySelector | Projection for determining "distinctness" |
Returns
Type | Description |
---|---|
IEnumerable<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.
This operator is implemented in the bcl as of net6. Source and binary compatibility should be retained across net versions, but this method should be inaccessible in net6+.
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
DistinctBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>, IEqualityComparer<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
[Obsolete("This method has been implemented by the framework.")]
public static IEnumerable<TSource> DistinctBy<TSource, TKey>(IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<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 |
---|---|
IEnumerable<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.
This operator is implemented in the bcl as of net6. Source and binary compatibility should be retained across net versions, though but method should be inaccessible in net6+.
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|