Queryable.Distinct Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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<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<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.