Enumerable.DistinctBy 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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>)
- Source:
- Distinct.cs
- Source:
- Distinct.cs
- Source:
- 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<T>。
例外
source
为 null
。
注解
此方法通过使用延迟执行来实现。 即时返回值是一个对象,用于存储执行操作所需的所有信息。 在通过直接调用GetEnumerator
其方法或通过在 C# For Each
或 foreach
Visual Basic 中使用 来枚举对象之前,不会执行此方法表示的查询。
方法 DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) 返回不包含重复值的无序序列。 默认相等比较器 Default用于比较值。
另请参阅
适用于
DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)
- Source:
- Distinct.cs
- Source:
- Distinct.cs
- Source:
- 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<T>。
例外
source
为 null
。
注解
此方法通过使用延迟执行来实现。 即时返回值是一个对象,用于存储执行操作所需的所有信息。 在通过直接调用GetEnumerator
其方法或通过在 C# For Each
或 foreach
Visual Basic 中使用 来枚举对象之前,不会执行此方法表示的查询。
方法 DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) 返回不包含重复值的无序序列。 如果 comparer
为 null
,则使用默认相等比较器 Default来比较值。