Queryable.Distinct Methode

Definition

Gibt unterschiedliche Elemente aus einer Sequenz zurückReturns distinct elements from a sequence.

Überlädt

Distinct<TSource>(IQueryable<TSource>)

Gibt mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurückReturns distinct elements from a sequence by using the default equality comparer to compare values.

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

Gibt mithilfe eines angegebenen IEqualityComparer<T> zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurückReturns distinct elements from a sequence by using a specified IEqualityComparer<T> to compare values.

Distinct<TSource>(IQueryable<TSource>)

Gibt mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurückReturns distinct elements from a sequence by using the default equality comparer to compare values.

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.The type of the elements of source.

Parameter

source
IQueryable<TSource>

Das IQueryable<T>, aus dem Duplikate entfernt werden sollen.The IQueryable<T> to remove duplicates from.

Gibt zurück

IQueryable<TSource>

Ein IQueryable<T>, das unterschiedliche Elemente aus source enthält.An IQueryable<T> that contains distinct elements from source.

Ausnahmen

source ist null.source is null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie verwendet wird, Distinct<TSource>(IQueryable<TSource>) um unterschiedliche Elemente aus einer Sequenz zurückzugeben.The following code example demonstrates how to use Distinct<TSource>(IQueryable<TSource>) to return distinct elements from a sequence.

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 einen, der den MethodCallExpression Aufruf von Distinct<TSource>(IQueryable<TSource>) sich selbst als konstruierte generische Methode darstellt.The Distinct<TSource>(IQueryable<TSource>) method generates a MethodCallExpression that represents calling Distinct<TSource>(IQueryable<TSource>) itself as a constructed generic method. Anschließend übergibt Sie MethodCallExpression an die- CreateQuery<TElement>(Expression) Methode des, das IQueryProvider durch die- Provider Eigenschaft des- source Parameters dargestellt wird.It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von darstellt, Distinct<TSource>(IQueryable<TSource>) hängt von der Implementierung des Typs des source Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Distinct<TSource>(IQueryable<TSource>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass es eine ungeordnete Sequenz der eindeutigen Elemente in zurückgibt source .The expected behavior is that it returns an unordered sequence of the unique items in source.

Gilt für:

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

Gibt mithilfe eines angegebenen IEqualityComparer<T> zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurückReturns distinct elements from a sequence by using a specified IEqualityComparer<T> to compare values.

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.The type of the elements of source.

Parameter

source
IQueryable<TSource>

Das IQueryable<T>, aus dem Duplikate entfernt werden sollen.The IQueryable<T> to remove duplicates from.

comparer
IEqualityComparer<TSource>

Ein IEqualityComparer<T> zum Vergleichen von Werten.An IEqualityComparer<T> to compare values.

Gibt zurück

IQueryable<TSource>

Ein IQueryable<T>, das unterschiedliche Elemente aus source enthält.An IQueryable<T> that contains distinct elements from source.

Ausnahmen

source oder comparer ist null.source or comparer is null.

Hinweise

Die- Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) Methode generiert einen, der den MethodCallExpression Aufruf von Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) sich selbst als konstruierte generische Methode darstellt.The Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) method generates a MethodCallExpression that represents calling Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) itself as a constructed generic method. Anschließend übergibt Sie MethodCallExpression an die- CreateQuery<TElement>(Expression) Methode des, das IQueryProvider durch die- Provider Eigenschaft des- source Parameters dargestellt wird.It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von darstellt, Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) hängt von der Implementierung des Typs des source Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass es eine unsortierter Sequenz der eindeutigen Elemente in zurückgibt source , indem verwendet wird comparer , um Werte zu vergleichen.The expected behavior is that it returns an unordered sequence of the unique items in source by using comparer to compare values.

Gilt für: