C#] yield , IEnumerator , IEnumerable
using System;
using System.Text;
using System.Collections.Generic;
namespace MyPractice
{
public class MyEnumerator
{
private int data = { 10, 20, 30, 40, 50 };
public IEnumerator<int> GetEnumerator() //IEnumerator **GetEnumerator
{
// **IEnumerator<T>
foreach (int k in data)
yield return k;
}
}
class Program
{
static IEnumerable<int> YieldNumber() //IEnumerable
{
yield return 10;
yield return 20;
yield return 30;
}
static void Main(string args)
{
/*
* 2019.04.17
* by 4ru4ka
*/
foreach (int ynum in YieldNumber())
Console.WriteLine(ynum);
// for use IEnumerator
var ie = new MyEnumerator();
foreach (int lnum in ie)
Console.WriteLine(lnum);
}
}
}
/*
* OUTPUT:
*
10
20
30
10
20
30
40
50
*/