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

定義

キーに従って 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);
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)

型パラメーター

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

要素を降順に並べ替える true、要素を昇順に並べ替える falsetrue to sort the elements in descending order; false to sort the elements in ascending order.

戻り値

要素がキーに従って並べ替えられている IOrderedEnumerable<TElement>An IOrderedEnumerable<TElement> whose elements are sorted according to a key.

次のコード例は、使用する方法を示しますCreateOrderedEnumerableで 2 番目の並べ替えを実行する、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かどうかに応じて、descendingtrueまたはfalseします。The 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>.

適用対象