C# Language Comparer et trier les tuples


Exemple

Les tuples peuvent être comparés en fonction de leurs éléments.

A titre d'exemple, un enumerable dont les éléments sont de type Tuple peut être trié en fonction d'opérateurs de comparaison définis sur un élément spécifié:

List<Tuple<int, string>> list = new List<Tuple<int, string>>();
list.Add(new Tuple<int, string>(2, "foo"));
list.Add(new Tuple<int, string>(1, "bar"));
list.Add(new Tuple<int, string>(3, "qux"));

list.Sort((a, b) => a.Item2.CompareTo(b.Item2)); //sort based on the string element

foreach (var element in list) {
    Console.WriteLine(element);
}

// Output:
// (1, bar)
// (2, foo)
// (3, qux)

Ou pour inverser l'utilisation du tri:

list.Sort((a, b) => b.Item2.CompareTo(a.Item2));