Series

Iterator [C#] class Count : IEnumerable - GetEnumerator

More Code 2018. 6. 15. 20:00


// C# : Iterator

using System;
using System.Collections;

namespace Iteration
{
class Program
{
static void Main(string[] args)
{
Count c1 = new Count();
IEnumerator myEnumerator = c1.GetEnumerator();

Console.WriteLine(myEnumerator.MoveNext()); // True
Console.WriteLine(myEnumerator.Current); // one

Console.WriteLine(myEnumerator.MoveNext()); // True
Console.WriteLine(myEnumerator.Current); // two

Console.WriteLine(myEnumerator.MoveNext()); // True
Console.WriteLine(myEnumerator.Current); // three

Console.WriteLine(myEnumerator.MoveNext()); // False
Console.WriteLine(myEnumerator.Current); // three

Console.WriteLine(myEnumerator.MoveNext()); // False
Console.WriteLine(myEnumerator.Current); // three
}
}

class Count : IEnumerable
{
public IEnumerator GetEnumerator()
{
yield return "one";
yield return "two";
yield return "three";
}
}
}

/* Output
True
one
True
two
True
three
False
three
False
three
*/