排序依據
按指定值對集合進行排序。
當值為整數, double 或 float 時,它以最小值開始,這意味著你首先獲得負值,而不是零,然後是正值(參見示例 1)。
當你通過 char 進行排序時,該方法會比較字元的 ascii 值以對集合進行排序(請參閱示例 2)。
當你對字串進行排序時,OrderBy 方法通過檢視他們的 CultureInfo 來比較它們,但是從字母表中的第一個字母開始 (a,b,c …)。
這種順序稱為升序,如果你想要它反過來需要降序(參見 OrderByDescending)。
例 1:
int[] numbers = {2, 1, 0, -1, -2};
IEnumerable<int> ascending = numbers.OrderBy(x => x);
// returns {-2, -1, 0, 1, 2}
例 2:
char[] letters = {' ', '!', '?', '[', '{', '+', '1', '9', 'a', 'A', 'b', 'B', 'y', 'Y', 'z', 'Z'};
IEnumerable<char> ascending = letters.OrderBy(x => x);
// returns { ' ', '!', '+', '1', '9', '?', 'A', 'B', 'Y', 'Z', '[', 'a', 'b', 'y', 'z', '{' }
例:
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 youngestPerson = people.OrderBy(x => x.Age).First();
var name = youngestPerson.Name; // Bob