IOrderedEnumerable<TElement>.CreateOrderedEnumerable<TKey>(Func<TElement,TKey>, IComparer<TKey>, Boolean) 方法

定義

依據索引鍵,在 IOrderedEnumerable<TElement> 的項目上執行後續的排序。Performs a subsequent ordering on the elements of an IOrderedEnumerable<TElement> according to a key.

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)

類型參數

TKey

keySelector 所產生的索引鍵型別。The type of the key produced by keySelector.

參數

keySelector
Func<TElement,TKey>

Func<T,TResult>,用來擷取每個項目的索引鍵。The Func<T,TResult> used to extract the key for each element.

comparer
IComparer<TKey>

IComparer<T>,用來比較索引鍵,以便在傳回的序列中放置。The IComparer<T> used to compare keys for placement in the returned sequence.

descending
Boolean

true 表示依遞減順序排序項目,false 表示依遞增順序排序項目。true to sort the elements in descending order; false to sort the elements in ascending order.

傳回

IOrderedEnumerable<TElement>

依據索引鍵排序其項目的 IOrderedEnumerable<TElement>An IOrderedEnumerable<TElement> whose elements are sorted according to a key.

範例

下列程式碼範例示範如何使用 CreateOrderedEnumerable 在上執行次要排序 IOrderedEnumerable<TElement>The following code example demonstrates how to use CreateOrderedEnumerable to perform a secondary ordering on an IOrderedEnumerable<TElement>.

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

備註

這個方法所提供的功能與或所提供的功能類似 ThenBy ThenByDescending ,取決於 descendingtruefalseThe functionality provided by this method is like that provided by ThenBy or ThenByDescending, depending on whether descending is true or false. 它們都是針對已排序的型別循序執行附屬順序 IOrderedEnumerable<TElement>They both perform a subordinate ordering of an already sorted sequence of type IOrderedEnumerable<TElement>.

適用於