IOrderedEnumerable<TElement>.CreateOrderedEnumerable<TKey> Method
Performs a subsequent ordering on the elements of an IOrderedEnumerable<TElement> according to a key.
Namespace: System.Linq
Assembly: System.Core (in System.Core.dll)
IOrderedEnumerable<TElement> CreateOrderedEnumerable<TKey>( Func<TElement, TKey> keySelector, IComparer<TKey> comparer, bool descending )
Type Parameters
- TKey
The type of the key produced by keySelector.
Parameters
- keySelector
- Type: System.Func<TElement, TKey>
The Func<T, TResult> used to extract the key for each element.
- comparer
- Type: System.Collections.Generic.IComparer<TKey>
The IComparer<T> used to compare keys for placement in the returned sequence.
- descending
- Type: System.Boolean
true to sort the elements in descending order; false to sort the elements in ascending order.
Return Value
Type: System.Linq.IOrderedEnumerable<TElement>An IOrderedEnumerable<TElement> whose elements are sorted according to a key.
The functionality provided by this method is like that provided by ThenBy or ThenByDescending, depending on whether descending is true or false. They both perform a subordinate ordering of an already sorted sequence of type IOrderedEnumerable<TElement>.
The following code example demonstrates how to use CreateOrderedEnumerable<TKey> 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)
outputBlock.Text += fruit + "\n";
// This code produces the following output:
//
// apple
// grape
// mango
// banana
// orange
// apricot
// strawberry
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.