|
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
|
Übersetzung
Original
|
Enumerable.ThenByDescending<TSource, TKey>-Methode (IOrderedEnumerable<TSource>, Func<TSource, TKey>, IComparer<TKey>)
Namespace: System.Linq
Assembly: System.Core (in System.Core.dll)
public static IOrderedEnumerable<TSource> ThenByDescending<TSource, TKey>( this IOrderedEnumerable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer )
Typparameter
- TSource
Der Typ der Elemente von source.
- TKey
Der Typ des von keySelector zurückgegebenen Schlüssels.
Parameter
- source
- Typ: System.Linq.IOrderedEnumerable<TSource>
Ein IOrderedEnumerable<TElement> mit den zu sortierenden Elementen.
- keySelector
- Typ: System.Func<TSource, TKey>
Eine Funktion zum Extrahieren eines Schlüssels aus jedem Element.
- comparer
- Typ: System.Collections.Generic.IComparer<TKey>
Ein IComparer<T> zum Vergleichen von Schlüsseln.
Rückgabewert
Typ: System.Linq.IOrderedEnumerable<TSource>Hinweis zur Verwendung
In Visual Basic und C# können Sie diese Methode als Instanzenmethode für ein beliebiges Objekt vom Typ IOrderedEnumerable<TSource> aufrufen. Bei Verwendung der Syntax für Instanzenmethoden lassen Sie den ersten Parameter aus. Weitere Informationen finden Sie unter Erweiterungsmethoden (Visual Basic) und Erweiterungsmethoden (C#-Programmierhandbuch).| Ausnahme | Bedingung |
|---|---|
| ArgumentNullException |
Hinweis |
|---|
public class CaseInsensitiveComparer : IComparer<string>
{
public int Compare(string x, string y)
{
return string.Compare(x, y, true);
}
}
public static void ThenByDescendingEx1()
{
string[] fruits = { "apPLe", "baNanA", "apple", "APple", "orange", "BAnana", "ORANGE", "apPLE" };
// Sort the strings first ascending by their length and
// then descending using a custom case insensitive comparer.
IEnumerable<string> query =
fruits
.OrderBy(fruit => fruit.Length)
.ThenByDescending(fruit => fruit, new CaseInsensitiveComparer());
foreach (string fruit in query)
{
Console.WriteLine(fruit);
}
}
/*
This code produces the following output:
apPLe
apple
APple
apPLE
orange
ORANGE
baNanA
BAnana
*/
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Hinweis