Click or drag to resize

MoreEnumerable.DistinctBy<TSource, TKey> Method (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.

Namespace:  MoreLinq
Assembly:  MoreLinq (in MoreLinq.dll) Version: 2.10.0
Syntax
public static IEnumerable<TSource> DistinctBy<TSource, TKey>(
	this IEnumerable<TSource> source,
	Func<TSource, TKey> keySelector
)

Parameters

source
Type: System.Collections.Generic.IEnumerable<TSource>
Source sequence
keySelector
Type: System.Func<TSource, TKey>
Projection for determining "distinctness"

Type Parameters

TSource
Type of the source sequence
TKey
Type of the projected element

Return Value

Type: IEnumerable<TSource>
A sequence consisting of distinct elements from the source sequence, comparing them by the specified key projection.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
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.
See Also