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>)

Source:
Distinct.cs
Source:
Distinct.cs
Source:
Distinct.cs

根据指定的键选择器函数返回序列中的不同元素。

C#
public static System.Collections.Generic.IEnumerable<TSource> DistinctBy<TSource,TKey> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector);

类型参数

TSource

source 的元素类型。

TKey

要用于区分元素的键的类型。

参数

source
IEnumerable<TSource>

要从中移除重复元素的序列。

keySelector
Func<TSource,TKey>

用于提取每个元素的键的函数。

返回

IEnumerable<TSource>

一个包含源序列中的非重复元素的 IEnumerable<T>

例外

sourcenull

注解

此方法通过使用延迟执行来实现。 即时返回值是一个对象,用于存储执行操作所需的所有信息。 在通过直接调用GetEnumerator其方法或通过在 C# For Eachforeach Visual Basic 中使用 来枚举对象之前,不会执行此方法表示的查询。

方法 DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) 返回不包含重复值的无序序列。 默认相等比较器 Default用于比较值。

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET 6, 7, 8, 9

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

Source:
Distinct.cs
Source:
Distinct.cs
Source:
Distinct.cs

根据指定的键选择器函数并使用指定的比较器比较键,从序列中返回不同的元素。

C#
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);

类型参数

TSource

source 的元素类型。

TKey

要用于区分元素的键的类型。

参数

source
IEnumerable<TSource>

要从中移除重复元素的序列。

keySelector
Func<TSource,TKey>

用于提取每个元素的键的函数。

comparer
IEqualityComparer<TKey>

用于比较键的 IEqualityComparer<T>

返回

IEnumerable<TSource>

一个包含源序列中的非重复元素的 IEnumerable<T>

例外

sourcenull

注解

此方法通过使用延迟执行来实现。 即时返回值是一个对象,用于存储执行操作所需的所有信息。 在通过直接调用GetEnumerator其方法或通过在 C# For Eachforeach Visual Basic 中使用 来枚举对象之前,不会执行此方法表示的查询。

方法 DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) 返回不包含重复值的无序序列。 如果 comparernull,则使用默认相等比较器 Default来比较值。

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET 6, 7, 8, 9