When we work with Collections in C# we need to iterate the items of collections. One way fo doing is this foreach loop.
The class should implenet IEnumerable interface. The IEnumerable interface also inehirts from IEnumerator interface/
codes:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IEnumerableandIEnumerator { class Player { public string Name { get; set; } public int Age { get; set; } public Player(string name, int age) { Name = name; Age = age; } } class Team:IEnumerable { private Player[] playerArray=new Player[4]; //aggregated class public Team() { playerArray[0] = new Player("Virat", 28); playerArray[1] = new Player("Dhoni", 35); playerArray[2] = new Player("Rohit", 29); playerArray[3]= new Player("Yuvraj",34); } public IEnumerator GetEnumerator() { return playerArray.GetEnumerator(); } } class Program { static void Main(string[] args) { //string[] PlayerArray = {"Virat", "Rohit", "Dhoni"}; //foreach (var items in PlayerArray) //{ // Console.WriteLine("Player is {0}",items); //} Team obj=new Team(); foreach (Player iteemPlayer in obj) { Console.WriteLine("Name is {0} and Age is {1}",iteemPlayer.Name,iteemPlayer.Age); } Console.ReadLine(); } } }