IOrderedEnumerable<TElement>.CreateOrderedEnumerable<TKey> Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Esegue un successivo ordinamento degli elementi di un oggetto IOrderedEnumerable<TElement> in base a una chiave.
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)
Parametri di tipo
- TKey
Tipo della chiave prodotta dall'oggetto keySelector
.
Parametri
- keySelector
- Func<TElement,TKey>
La funzione Func<T,TResult> usata per estrarre la chiave per ogni elemento.
- comparer
- IComparer<TKey>
IComparer<T> utilizzato per confrontare chiavi per collocarle nella sequenza restituita.
- descending
- Boolean
true
per ordinare gli elementi in senso decrescente; false
per ordinare gli elementi in ordine crescente.
Restituisce
Oggetto IOrderedEnumerable<TElement> i cui elementi vengono ordinati secondo una chiave.
Esempio
Nell'esempio di codice seguente viene illustrato come usare CreateOrderedEnumerable per eseguire un ordinamento secondario in un oggetto 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
Commenti
La funzionalità fornita da questo metodo è simile a quella fornita da ThenBy o ThenByDescending, a seconda che descending
sia true
o false
. Entrambi eseguono un ordinamento subordinato di una sequenza già ordinata di tipo IOrderedEnumerable<TElement>.