using System.Collections;
using System.Collections.Generic;
public string Name { get; set; }
public int Age { get; set; }
public Student(string name, int age)
public static void Main()
List<Student> students = new List<Student>
new Student("Alice", 20),
new Student("Charlie", 23)
IEnumerator<Student> GetEnumerator()
return students.GetEnumerator();
IEnumerator<Student> studentEnumerator = GetEnumerator();
while (studentEnumerator.MoveNext())
Student student = studentEnumerator.Current;
Console.WriteLine(student.Name);
Console.WriteLine("Finished processing all students.");
public static IEnumerator ProcessStudents(IEnumerable<Student> students)
foreach (var student in students)
Console.WriteLine($"Processing {student.Name}");