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());
}
}
}
|