IOrderedEnumerable<TElement>.CreateOrderedEnumerable<TKey> Methode

Definition

Führt eine nachgeordnete Sortierung von Elementen eines IOrderedEnumerable<TElement> anhand eines Schlüssels durch.

public:
generic <typename TKey>
 System::Linq::IOrderedEnumerable<TElement> ^ CreateOrderedEnumerable(Func<TElement, TKey> ^ keySelector, System::Collections::Generic::IComparer<TKey> ^ comparer, bool descending);
public System.Linq.IOrderedEnumerable<TElement> CreateOrderedEnumerable<TKey> (Func<TElement,TKey> keySelector, System.Collections.Generic.IComparer<TKey> comparer, bool descending);
public System.Linq.IOrderedEnumerable<out TElement> CreateOrderedEnumerable<TKey> (Func<out TElement,TKey> keySelector, System.Collections.Generic.IComparer<TKey>? comparer, bool descending);
public System.Linq.IOrderedEnumerable<out TElement> CreateOrderedEnumerable<TKey> (Func<out TElement,TKey> keySelector, System.Collections.Generic.IComparer<TKey> comparer, bool descending);
abstract member CreateOrderedEnumerable : Func<'Element, 'Key> * System.Collections.Generic.IComparer<'Key> * bool -> System.Linq.IOrderedEnumerable<'Element>
Public Function CreateOrderedEnumerable(Of TKey) (keySelector As Func(Of TElement, TKey), comparer As IComparer(Of TKey), descending As Boolean) As IOrderedEnumerable(Of TElement)
Public Function CreateOrderedEnumerable(Of TKey) (keySelector As Func(Of Out TElement, TKey), comparer As IComparer(Of TKey), descending As Boolean) As IOrderedEnumerable(Of Out TElement)

Typparameter

TKey

Der Typ des Schlüssels, der von keySelector erzeugt wird.

Parameter

keySelector
Func<TElement,TKey>

Die Func<T,TResult> zur Extrahierung der Schlüssel für die einzelnen Elemente.

comparer
IComparer<TKey>

Die IComparer<T>-Schnittstelle zum Vergleichen von Schlüsseln zur Platzierung in der zurückgegebenen Sequenz.

descending
Boolean

true, um die Elemente in absteigender Reihenfolge zu sortieren, andernfalls false.

Gibt zurück

Ein IOrderedEnumerable<TElement>, dessen Elemente nach einem Schlüssel sortiert werden

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden CreateOrderedEnumerable , um eine sekundäre Reihenfolge für eine IOrderedEnumerable<TElement>auszuführen.

// Create an array of strings to sort.
string[] fruits = { "apricot", "orange", "banana", "mango", "apple", "grape", "strawberry" };
// First sort the strings by their length.
IOrderedEnumerable<string> sortedFruits2 =
    fruits.OrderBy(fruit => fruit.Length);
// Secondarily sort the strings alphabetically, using the default comparer.
IOrderedEnumerable<string> sortedFruits3 =
    sortedFruits2.CreateOrderedEnumerable<string>(
        fruit => fruit,
        Comparer<string>.Default, false);

// Output the resulting sequence of strings.
foreach (string fruit in sortedFruits3)
    Console.WriteLine(fruit);

// This code produces the following output:
//
// apple
// grape
// mango
// banana
// orange
// apricot
// strawberry
' Create an array of strings to sort.
Dim fruits() As String = {"apricot", "orange", "banana", "mango", "apple", "grape", "strawberry"}
' First sort the strings by their length.
Dim sortedFruits2 As IOrderedEnumerable(Of String) = _
    fruits.OrderBy(Function(ByVal fruit) fruit.Length)
' Secondarily sort the strings alphabetically, using the default comparer.
Dim sortedFruits3 As IOrderedEnumerable(Of String) = _
    sortedFruits2.CreateOrderedEnumerable(Of String)( _
        Function(ByVal fruit) fruit, _
        System.Collections.Generic.Comparer(Of String).Default, _
        False)

Dim output As New System.Text.StringBuilder
' Output the resulting sequence of strings.
For Each fruit As String In sortedFruits3
    output.AppendLine(fruit)
Next

' Display the results.
MsgBox(output.ToString())

' This code produces the following output:
'
' apple
' grape
' mango
' banana
' orange
' apricot
' strawberry

Hinweise

Die von dieser Methode bereitgestellte Funktionalität entspricht der von ThenBy oder ThenByDescendingbereitgestellten , je nachdem, ob descending oder falseisttrue. Beide führen eine untergeordnete Reihenfolge einer bereits sortierten Sequenz vom Typ IOrderedEnumerable<TElement>durch.

Gilt für: