Queryable.Distinct Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt unterschiedliche Elemente aus einer Sequenz zurück
Überlädt
Distinct<TSource>(IQueryable<TSource>) |
Gibt mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurück |
Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) |
Gibt mithilfe eines angegebenen IEqualityComparer<T> zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurück |
Distinct<TSource>(IQueryable<TSource>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Gibt mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurück
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)
Typparameter
- TSource
Der Typ der Elemente von source
.
Parameter
- source
- IQueryable<TSource>
Das IQueryable<T>, aus dem Duplikate entfernt werden sollen.
Gibt zurück
Ein IQueryable<T>, das unterschiedliche Elemente aus source
enthält.
Ausnahmen
source
ist null
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden Distinct<TSource>(IQueryable<TSource>) , um unterschiedliche Elemente aus einer Sequenz zurückzugeben.
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
Hinweise
Die Distinct<TSource>(IQueryable<TSource>) -Methode generiert eine MethodCallExpression , die den Aufruf Distinct<TSource>(IQueryable<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend übergibt es die MethodCallExpression an die CreateQuery<TElement>(Expression) -Methode von, die IQueryProvider durch die Provider -Eigenschaft des source
Parameters dargestellt wird.
Das Abfrageverhalten, das beim Ausführen einer Ausdrucksstruktur auftritt, die den Aufruf Distinct<TSource>(IQueryable<TSource>) darstellt, hängt von der Implementierung des Typs des source
Parameters ab. Das erwartete Verhalten besteht darin, dass eine ungeordnete Sequenz der eindeutigen Elemente in source
zurückgegeben wird.
Gilt für:
Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Gibt mithilfe eines angegebenen IEqualityComparer<T> zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurück
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)
Typparameter
- TSource
Der Typ der Elemente von source
.
Parameter
- source
- IQueryable<TSource>
Das IQueryable<T>, aus dem Duplikate entfernt werden sollen.
- comparer
- IEqualityComparer<TSource>
Ein IEqualityComparer<T> zum Vergleichen von Werten.
Gibt zurück
Ein IQueryable<T>, das unterschiedliche Elemente aus source
enthält.
Ausnahmen
source
oder comparer
ist null
.
Hinweise
Die Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) -Methode generiert eine MethodCallExpression , die den Aufruf Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend übergibt es die MethodCallExpression an die CreateQuery<TElement>(Expression) -Methode von, die IQueryProvider durch die Provider -Eigenschaft des source
Parameters dargestellt wird.
Das Abfrageverhalten, das beim Ausführen einer Ausdrucksstruktur auftritt, die den Aufruf Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) darstellt, hängt von der Implementierung des Typs des source
Parameters ab. Das erwartete Verhalten besteht darin, dass eine ungeordnete Sequenz der eindeutigen Elemente in source
zurückgegeben wird, indem zum Vergleichen von comparer
Werten verwendet wird.