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.ThenBy<TSource, TKey>-Methode: (IOrderedQueryable<TSource>, Expression<Func<TSource, TKey>>)

 

Veröffentlicht: Oktober 2016

Führt eine nachfolgende Sortierung der Elemente in einer Sequenz in aufsteigender Reihenfolge nach einem Schlüssel.

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

public static IOrderedQueryable<TSource> ThenBy<TSource, TKey>(
	this IOrderedQueryable<TSource> source,
	Expression<Func<TSource, TKey>> keySelector
)

Parameter

source
Type: System.Linq.IOrderedQueryable<TSource>

Ein IOrderedQueryable<T> mit den zu sortierenden Elementen.

keySelector
Type: System.Linq.Expressions.Expression<Func<TSource, TKey>>

Eine Funktion zum Extrahieren eines Schlüssels aus jedem Element.

Rückgabewert

Type: System.Linq.IOrderedQueryable<TSource>

Ein IOrderedQueryable<T> dessen Elemente nach einem Schlüssel sortiert werden.

Typparameter

TSource

Der Typ der Elemente von source.

TKey

Der Typ des Schlüssels, der durch dargestellten Funktion zurückgegebene keySelector.

Exception Condition
ArgumentNullException

source oder keySelector ist null.

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate> deren Typargument ist eines der Func<T, TResult> Typen. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, und es werden kompiliert, um eine Expression<TDelegate>.

Die ThenBy<TSource, TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource, TKey>>) -Methode generiert eine MethodCallExpression Aufruf darstellt ThenBy<TSource, TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource, TKey>>) 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 Ergebnis des Aufrufs CreateQuery<TElement>(Expression) umgewandelt wird, um den Typ IOrderedQueryable<T> und zurückgegeben.

Das Abfrageverhalten durch das Ausführen einer Ausdrucksbaumstruktur, die aufrufende darstellt, ThenBy<TSource, TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource, TKey>>) hängt von der Implementierung des Typs der source Parameter. Es wird erwartet, dass eine sekundäre Sortierung der Elemente ausgeführt wird source anhand des Schlüssels, der durch den Aufruf keySelector für jedes Element der source. Alle zuvor festgelegten Sortierreihenfolgen werden beibehalten.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie ThenBy<TSource, TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource, TKey>>) um eine nachfolgende Sortierung der Elemente in einer Sequenz durchführen.

string[] fruits = { "grape", "passionfruit", "banana", "apple", 
                      "orange", "raspberry", "mango", "blueberry" };

// Sort the strings first by their length and then 
// alphabetically by passing the identity selector function.
IEnumerable<string> query =
    fruits.AsQueryable()
    .OrderBy(fruit => fruit.Length).ThenBy(fruit => fruit);

foreach (string fruit in query)
    Console.WriteLine(fruit);

/*
    This code produces the following output:

    apple
    grape
    mango
    banana
    orange
    blueberry
    raspberry
    passionfruit
*/

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: