IOrderedEnumerable<TElement>.CreateOrderedEnumerable<TKey>(Func<TElement,TKey>, IComparer<TKey>, Boolean) Método
Definição
Executa uma ordenação subsequente nos elementos de uma IOrderedEnumerable<TElement> de acordo com uma chave.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)
Parâmetros de tipo
- TKey
O tipo da chave produzida por keySelector.The type of the key produced by keySelector.
Parâmetros
- keySelector
- Func<TElement,TKey>
O Func<T,TResult> usado para extrair a chave de cada elemento.The Func<T,TResult> used to extract the key for each element.
- comparer
- IComparer<TKey>
O IComparer<T> usado para comparar chaves para posicionamento na sequência retornada.The IComparer<T> used to compare keys for placement in the returned sequence.
- descending
- Boolean
true para classificar os elementos em ordem decrescente; false para classificar os elementos em ordem crescente.true to sort the elements in descending order; false to sort the elements in ascending order.
Retornos
Um IOrderedEnumerable<TElement> cujos elementos são classificados de acordo com uma chave.An IOrderedEnumerable<TElement> whose elements are sorted according to a key.
Exemplos
O exemplo de código a seguir demonstra como usar CreateOrderedEnumerable o para executar uma ordenação secundária em um 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
Comentários
A funcionalidade fornecida por esse método é como a fornecida pelo ThenBy ou ThenByDescending , dependendo se descending for true ou false .The functionality provided by this method is like that provided by ThenBy or ThenByDescending, depending on whether descending is true or false. Ambos executam uma ordenação subordinada de uma sequência já classificada do tipo IOrderedEnumerable<TElement> .They both perform a subordinate ordering of an already sorted sequence of type IOrderedEnumerable<TElement>.