Partage via


Queryable.Distinct Méthode

Définition

Retourne des éléments distincts d'une séquence.

Surcharges

Distinct<TSource>(IQueryable<TSource>)

Retourne des éléments distincts d'une séquence et utilise le comparateur d'égalité par défaut pour comparer les valeurs.

Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>)

Retourne des éléments distincts d'une séquence et utilise le IEqualityComparer<T> spécifié pour comparer les valeurs.

Distinct<TSource>(IQueryable<TSource>)

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

Retourne des éléments distincts d'une séquence et utilise le comparateur d'égalité par défaut pour comparer les valeurs.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Distinct(System::Linq::IQueryable<TSource> ^ source);
public static System.Linq.IQueryable<TSource> Distinct<TSource> (this System.Linq.IQueryable<TSource> source);
static member Distinct : System.Linq.IQueryable<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Distinct(Of TSource) (source As IQueryable(Of TSource)) As IQueryable(Of TSource)

Paramètres de type

TSource

Le type des éléments de source.

Paramètres

source
IQueryable<TSource>

IQueryable<T> dans lequel supprimer les doublons.

Retours

IQueryable<TSource>

IQueryable<T> qui contient des éléments distincts de source.

Exceptions

source a la valeur null.

Exemples

L’exemple de code suivant montre comment utiliser Distinct<TSource>(IQueryable<TSource>) pour retourner des éléments distincts à partir d’une séquence.

List<int> ages = new List<int> { 21, 46, 46, 55, 17, 21, 55, 55 };

IEnumerable<int> distinctAges = ages.AsQueryable().Distinct();

Console.WriteLine("Distinct ages:");

foreach (int age in distinctAges)
    Console.WriteLine(age);

/*
    This code produces the following output:

    Distinct ages:
    21
    46
    55
    17
*/
Dim ages As List(Of Integer) = New List(Of Integer)(New Integer() {21, 46, 46, 55, 17, 21, 55, 55})

Dim distinctAges As IEnumerable(Of Integer) = ages.AsQueryable().Distinct()

Dim output As New System.Text.StringBuilder
output.AppendLine("Distinct ages:")

For Each age As Integer In distinctAges
    output.AppendLine(age)
Next

' Display the output.
MsgBox(output.ToString())

' This code produces the following output:
'
' Distinct(ages)
' 21
' 46
' 55
' 17

Remarques

La Distinct<TSource>(IQueryable<TSource>) méthode génère un MethodCallExpression qui représente l’appel Distinct<TSource>(IQueryable<TSource>) en tant que méthode générique construite. Il passe ensuite à MethodCallExpression la CreateQuery<TElement>(Expression) méthode du IQueryProvider représenté par la Provider propriété du source paramètre .

Le comportement de requête qui se produit à la suite de l’exécution d’une arborescence d’expressions qui représente l’appel Distinct<TSource>(IQueryable<TSource>) dépend de l’implémentation du type du source paramètre. Le comportement attendu est qu’il retourne une séquence non triée des éléments uniques dans source.

S’applique à

Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>)

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

Retourne des éléments distincts d'une séquence et utilise le IEqualityComparer<T> spécifié pour comparer les valeurs.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Distinct(System::Linq::IQueryable<TSource> ^ source, System::Collections::Generic::IEqualityComparer<TSource> ^ comparer);
public static System.Linq.IQueryable<TSource> Distinct<TSource> (this System.Linq.IQueryable<TSource> source, System.Collections.Generic.IEqualityComparer<TSource> comparer);
public static System.Linq.IQueryable<TSource> Distinct<TSource> (this System.Linq.IQueryable<TSource> source, System.Collections.Generic.IEqualityComparer<TSource>? comparer);
static member Distinct : System.Linq.IQueryable<'Source> * System.Collections.Generic.IEqualityComparer<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Distinct(Of TSource) (source As IQueryable(Of TSource), comparer As IEqualityComparer(Of TSource)) As IQueryable(Of TSource)

Paramètres de type

TSource

Le type des éléments de source.

Paramètres

source
IQueryable<TSource>

IQueryable<T> dans lequel supprimer les doublons.

comparer
IEqualityComparer<TSource>

IEqualityComparer<T> pour comparer les valeurs.

Retours

IQueryable<TSource>

IQueryable<T> qui contient des éléments distincts de source.

Exceptions

source ou comparer est null.

Remarques

La Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) méthode génère un MethodCallExpression qui représente l’appel Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) en tant que méthode générique construite. Il passe ensuite à MethodCallExpression la CreateQuery<TElement>(Expression) méthode du IQueryProvider représenté par la Provider propriété du source paramètre .

Le comportement de requête qui se produit à la suite de l’exécution d’une arborescence d’expressions qui représente l’appel Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) dépend de l’implémentation du type du source paramètre. Le comportement attendu est qu’il retourne une séquence non triée des éléments uniques dans en source utilisant comparer pour comparer les valeurs.

S’applique à