英語で読む

次の方法で共有


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

指定したキー セレクター関数に従って、シーケンスから個別の要素を返します。

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 Each または Visual Basic で を使用foreachして列挙されるまで実行されません。

メソッドは 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>)

ソース:
Distinct.cs
ソース:
Distinct.cs
ソース:
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 Each または Visual Basic で を使用foreachして列挙されるまで実行されません。

メソッドは DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) 、重複する値を含まない順序なしのシーケンスを返します。 が nullの場合comparerDefault既定の等値比較子 である が値の比較に使用されます。

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET 6, 7, 8, 9