Поделиться через


Enumerable.DistinctBy Метод

Определение

Перегрузки

DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Возвращает отдельные элементы последовательности в соответствии с указанной функцией селектора ключей.

DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Возвращает отдельные элементы последовательности в соответствии с указанной функцией селектора ключей и использует указанный компаратор для сравнения ключей.

DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Исходный код:
Distinct.cs
Исходный код:
Distinct.cs
Исходный код:
Distinct.cs

Возвращает отдельные элементы последовательности в соответствии с указанной функцией селектора ключей.

public:
generic <typename TSource, typename TKey>
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<TSource> ^ DistinctBy(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TKey> ^ keySelector);
public static System.Collections.Generic.IEnumerable<TSource> DistinctBy<TSource,TKey> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector);
static member DistinctBy : seq<'Source> * Func<'Source, 'Key> -> seq<'Source>
<Extension()>
Public Function DistinctBy(Of TSource, TKey) (source As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey)) As IEnumerable(Of TSource)

Параметры типа

TSource

Тип элементов source.

TKey

Тип ключа для различения элементов.

Параметры

source
IEnumerable<TSource>

Последовательность, из которой требуется удалить дубликаты элементов.

keySelector
Func<TSource,TKey>

Функция, извлекающая ключ для каждого элемента.

Возвращаемое значение

IEnumerable<TSource>

Объект IEnumerable<T>, содержащий различающиеся элементы из исходной последовательности.

Исключения

source имеет значение null.

Комментарии

Этот метод реализуется с помощью отложенного выполнения. Немедленное возвращаемое значение — это объект, в котором хранятся все сведения, необходимые для выполнения действия. Запрос, представленный этим методом, не выполняется, пока объект не будет перечислен либо путем вызова его GetEnumerator метода напрямую, либо с помощью foreach в C# или For Each в Visual Basic.

Метод DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) возвращает неупорядоченную последовательность, которая не содержит повторяющихся значений. Для сравнения значений Defaultиспользуется средство сравнения на равенство по умолчанию.

См. также раздел

Применяется к

DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Исходный код:
Distinct.cs
Исходный код:
Distinct.cs
Исходный код:
Distinct.cs

Возвращает отдельные элементы последовательности в соответствии с указанной функцией селектора ключей и использует указанный компаратор для сравнения ключей.

public:
generic <typename TSource, typename TKey>
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<TSource> ^ DistinctBy(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TKey> ^ keySelector, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public static System.Collections.Generic.IEnumerable<TSource> DistinctBy<TSource,TKey> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer);
static member DistinctBy : seq<'Source> * Func<'Source, 'Key> * System.Collections.Generic.IEqualityComparer<'Key> -> seq<'Source>
<Extension()>
Public Function DistinctBy(Of TSource, TKey) (source As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey), comparer As IEqualityComparer(Of TKey)) As IEnumerable(Of TSource)

Параметры типа

TSource

Тип элементов source.

TKey

Тип ключа для различения элементов.

Параметры

source
IEnumerable<TSource>

Последовательность, из которой требуется удалить дубликаты элементов.

keySelector
Func<TSource,TKey>

Функция, извлекающая ключ для каждого элемента.

comparer
IEqualityComparer<TKey>

Компаратор IEqualityComparer<T>, используемый для сравнения ключей.

Возвращаемое значение

IEnumerable<TSource>

Объект IEnumerable<T>, содержащий различающиеся элементы из исходной последовательности.

Исключения

source имеет значение null.

Комментарии

Этот метод реализуется с помощью отложенного выполнения. Немедленное возвращаемое значение — это объект, в котором хранятся все сведения, необходимые для выполнения действия. Запрос, представленный этим методом, не выполняется, пока объект не будет перечислен либо путем вызова его GetEnumerator метода напрямую, либо с помощью foreach в C# или For Each в Visual Basic.

Метод DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) возвращает неупорядоченную последовательность, которая не содержит повторяющихся значений. Если comparer имеет значение null, для сравнения значений используется компаратор Defaultна равенство по умолчанию .

См. также раздел

Применяется к