📜  C# 程序从对象列表中查找整数并使用 LINQ 对其进行排序(1)

📅  最后修改于: 2023-12-03 14:39:47.449000             🧑  作者: Mango

C# 程序从对象列表中查找整数并使用 LINQ 对其进行排序

在 C# 编程中,LINQ(Language Integrated Query)是一种强大的查询语言,它可以用于从各种数据源中执行查询操作。本文将介绍如何使用 LINQ 在对象列表中查找整数并对其进行排序。

步骤 1: 创建对象列表

首先,我们需要创建一个包含整数和其他属性的对象列表。假设我们创建了一个名为 Person 的类,并在该类中定义了一个 Age 属性来表示人的年龄。以下是示例代码:

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

List<Person> personList = new List<Person>()
{
    new Person { Name = "John", Age = 25 },
    new Person { Name = "Alice", Age = 30 },
    new Person { Name = "Bob", Age = 20 },
    new Person { Name = "Emma", Age = 35 },
    new Person { Name = "Peter", Age = 28 }
};

以上代码创建了一个包含 5 个 Person 对象的 personList

步骤 2: 使用 LINQ 查找整数并排序

接下来,我们使用 LINQ 查询表达式来查找年龄大于等于 25 的人员,并按年龄进行升序排序。以下是示例代码:

var result = from person in personList
             where person.Age >= 25
             orderby person.Age
             select person;

以上代码使用 fromwhere 子句过滤出年龄大于等于 25 的人员,并使用 orderby 子句按年龄进行排序。

步骤 3: 打印结果

最后,我们可以通过遍历结果并打印每个人员的名称和年龄来查看查询结果。以下是示例代码:

foreach (var person in result)
{
    Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}

以上代码遍历查询结果并使用 Console.WriteLine 方法将每个人员的名称和年龄打印到控制台。

完整代码

下面是完整的代码示例:

using System;
using System.Collections.Generic;
using System.Linq;

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

    public static void Main()
    {
        List<Person> personList = new List<Person>()
        {
            new Person { Name = "John", Age = 25 },
            new Person { Name = "Alice", Age = 30 },
            new Person { Name = "Bob", Age = 20 },
            new Person { Name = "Emma", Age = 35 },
            new Person { Name = "Peter", Age = 28 }
        };

        var result = from person in personList
                     where person.Age >= 25
                     orderby person.Age
                     select person;

        foreach (var person in result)
        {
            Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
        }
    }
}

上述代码将打印以下结果:

Name: John, Age: 25
Name: Peter, Age: 28
Name: Alice, Age: 30
Name: Emma, Age: 35
总结

使用 LINQ 进行对象列表的查询和排序可以使代码更简洁、易读。通过使用 fromwhereorderby 子句,我们可以轻松地实现各种数据筛选和排序的需求。