C# Language OrderByDescending

Esempio

Ordina una collezione in base a un valore specificato.

Quando il valore è un numero intero , doppio o float inizia con il valore massimo , il che significa che si ottengono prima i valori positivi, che zero e afterwords i valori negativi (vedere Esempio 1).

Quando ordini per char, il metodo confronta i valori ascii dei caratteri per ordinare la raccolta (vedi Esempio 2).

Quando si ordinano le stringhe, il metodo OrderBy li confronta dando un'occhiata al loro CultureInfo ma normalmente iniziando con l' ultima lettera dell'alfabeto (z, y, x, ...).

Questo tipo di ordine è chiamato discendente, se lo vuoi viceversa hai bisogno di salire (vedi OrderBy).

Esempio 1:

int[] numbers = {-2, -1, 0, 1, 2};
IEnumerable<int> descending = numbers.OrderByDescending(x => x);
// returns {2, 1, 0, -1, -2}

Esempio 2:

char[] letters = {' ', '!', '?', '[', '{', '+', '1', '9', 'a', 'A', 'b', 'B', 'y', 'Y', 'z', 'Z'};
IEnumerable<char> descending = letters.OrderByDescending(x => x);
// returns { '{', 'z', 'y', 'b', 'a', '[', 'Z', 'Y', 'B', 'A', '?', '9', '1', '+', '!', ' ' }

Esempio 3:

class Person
{
   public  string Name { get; set; }
   public  int Age { get; set; }
}

var people = new[]
{
    new Person {Name = "Alice", Age = 25},
    new Person {Name = "Bob", Age = 21},
    new Person {Name = "Carol", Age = 43}
};
var oldestPerson = people.OrderByDescending(x => x.Age).First();
var name = oldestPerson.Name; // Carol