Mega Code Archive

 
Categories / C# Tutorial / Class
 

IEnumerable T>

using System; using System.Collections.Generic; public class Employee {     public string Name;     public string Title;     public Employee(string name, string title) {         Name = name;         Title = title;     }     public override string ToString() {         return string.Format("{0} ({1})", Name, Title);     } } public class Team {     private List<Employee> teamMembers = new List<Employee>();     public IEnumerator<Employee> GetEnumerator() {         foreach (Employee tm in teamMembers) {             yield return tm;         }     }     public IEnumerable<Employee> Reverse {         get {             for (int c = teamMembers.Count - 1; c >= 0; c--) {                 yield return teamMembers[c];             }         }     }     public IEnumerable<Employee> FirstTwo {         get {             int count = 0;             foreach (Employee tm in teamMembers) {                 if (count >= 2) {                     yield break;                 } else {                     count++;                     yield return tm;                 }             }         }     }     public void AddMember(Employee member) {         teamMembers.Add(member);     } } public class MainClass {     public static void Main() {         Team team = new Team();         team.AddMember(new Employee("C", "C"));         team.AddMember(new Employee("N", "K"));         team.AddMember(new Employee("N", "S"));         foreach (Employee member in team) {             Console.WriteLine("  " + member.ToString());         }         foreach (Employee member in team.FirstTwo) {             Console.WriteLine("  " + member.ToString());         }         foreach (Employee member in team.Reverse) {             Console.WriteLine("  " + member.ToString());         }     } }