在C#中如何利用LINQ和Lambda排序數(shù)據(jù)

c#
小樊
81
2024-09-15 00:01:12

在C#中,你可以使用LINQ(Language Integrated Query)和Lambda表達(dá)式來(lái)對(duì)數(shù)據(jù)進(jìn)行排序

首先,確保你已經(jīng)引入了System.Linq命名空間:

using System.Linq;

接下來(lái),假設(shè)你有一個(gè)名為Person的類(lèi),包含FirstNameAge屬性:

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

現(xiàn)在,假設(shè)你有一個(gè)List<Person>類(lèi)型的列表,需要按照年齡進(jìn)行排序:

List<Person> people = new List<Person>
{
    new Person { FirstName = "Alice", Age = 30 },
    new Person { FirstName = "Bob", Age = 25 },
    new Person { FirstName = "Charlie", Age = 35 }
};

你可以使用LINQ和Lambda表達(dá)式按照年齡進(jìn)行升序排序:

var sortedPeople = people.OrderBy(p => p.Age);

或者按照年齡進(jìn)行降序排序:

var sortedPeopleDescending = people.OrderByDescending(p => p.Age);

sortedPeoplesortedPeopleDescending變量現(xiàn)在分別包含按年齡升序和降序排序的Person對(duì)象。你可以使用foreach循環(huán)遍歷這些對(duì)象并打印結(jié)果:

foreach (var person in sortedPeople)
{
    Console.WriteLine($"{person.FirstName}, {person.Age}");
}

foreach (var person in sortedPeopleDescending)
{
    Console.WriteLine($"{person.FirstName}, {person.Age}");
}

這將輸出:

Bob, 25
Alice, 30
Charlie, 35

Charlie, 35
Alice, 30
Bob, 25

這就是如何在C#中使用LINQ和Lambda表達(dá)式對(duì)數(shù)據(jù)進(jìn)行排序。

0