📜  使用 LINQ 实现 IEnumerable 接口的 C# 程序(1)

📅  最后修改于: 2023-12-03 15:22:13.899000             🧑  作者: Mango

使用 LINQ 实现 IEnumerable 接口的 C# 程序

介绍

在开发 C# 项目时,常常需要处理各种集合对象。IEnumerable 接口给我们提供了一种通用的遍历集合的方式。而 LINQ(Language-Integrated Query)则为我们提供了一种方便、快捷的编写查询或操作集合的语言集成方式。本文将介绍如何使用 LINQ 实现 IEnumerable 接口的遍历集合程序。

例子

我们以一个简单的范例作为示范:假设有一个 Student 对象,包含学生的姓名、年龄、学号等属性。我们现在有一个存储多个 Student 对象的集合。我们需要实现一个方法,用于遍历这个集合并输出所有学生的成绩。

public class Student
{
    public string Name { get; set; }
    public int Age { get; set; }
    public string StudentId { get; set; }
    public int Score { get; set; }
}

public class StudentCollection : IEnumerable<Student>
{
    private List<Student> students = new List<Student>();

    public void Add(Student student)
    {
        students.Add(student);
    }

    public IEnumerator<Student> GetEnumerator()
    {
        return students.GetEnumerator();
    }

    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator();
    }
}

public static void PrintAllScores(StudentCollection students)
{
    var query = from student in students
                select student.Score;

    foreach (var score in query)
    {
        Console.WriteLine(score);
    }
}

上述代码中,我们首先定义了一个 Student 类,包含了学生各种信息,以及一个 StudentCollection 类,用于存储多个学生。我们实现了 IEnumerable 接口,并在其中实现了 GetEnumerator 方法。接着,我们编写了一个静态方法 PrintAllScores,其中 query 变量使用了 LINQ 的查询语法,从 students 集合中选择所有学生的成绩,然后通过 foreach 循环遍历所有的成绩,并输出到控制台。

总结

以上便是如何使用 LINQ 实现 IEnumerable 接口的 C# 程序的详细介绍。通过使用 LINQ,我们可以更加方便地处理集合,并编写出更为简洁、直观的代码。希望这篇文章对你有所帮助。