Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Queryable.Distinct<TSource>-Methode: (IQueryable<TSource>)

 

Veröffentlicht: Oktober 2016

Gibt Sie mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurück.

Namespace:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static IQueryable<TSource> Distinct<TSource>(
	this IQueryable<TSource> source
)

Parameter

source
Type: System.Linq.IQueryable<TSource>

Die IQueryable<T> um Duplikate zu entfernen.

Rückgabewert

Type: System.Linq.IQueryable<TSource>

Eine IQueryable<T> die unterschiedliche Elemente aus enthält source.

Typparameter

TSource

Der Typ der Elemente von source.

Exception Condition
ArgumentNullException

source ist null.

Die Distinct<TSource>(IQueryable<TSource>) -Methode generiert eine MethodCallExpression Aufruf darstellt Distinct<TSource>(IQueryable<TSource>) sich selbst als konstruierte generische Methode. Anschließend übergibt der MethodCallExpression zu der CreateQuery<TElement>(Expression) Methode der IQueryProvider durch dargestellt die Provider Eigenschaft der source Parameter.

Das Abfrageverhalten durch das Ausführen einer Ausdrucksbaumstruktur, die aufrufende darstellt, Distinct<TSource>(IQueryable<TSource>) hängt von der Implementierung des Typs der source Parameter. Das erwartete Verhalten ist, wird eine ungeordnete Sequenz der eindeutigen Elemente in source.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie Distinct<TSource>(IQueryable<TSource>) unterschiedliche Elemente aus einer Sequenz zurückgegeben.

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
*/

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.1
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: