C#/수업 내용
반복기
hyunjin-dev-log
2021. 12. 24. 22:39
using System;
using System.Collections.Generic;
namespace HelloWorld
{
class App
{
//생성자
public App()
{
// 시퀀스를 갖고있는 반복기 개체
foreach(int num in GetSingleDigitNumbers())
{
Console.Write("{0} ", num);
}
Console.WriteLine();
//컬렉션 초기화, 개체 이니셜라이저사용
List<int> list = new List<int> { 1, 2, 3, 4, 5 };
//foreach문은 간단히 읽고싶을때 사용
//foreach (int n in list)
//{
// Console.Write("{0} ", n);
//}
//시퀀스 요소를 직접 컨트롤 하고싶으면 사용
IEnumerator<int> enumerator = list.GetEnumerator();
while (enumerator.MoveNext())
{
Console.WriteLine(enumerator.Current);
}
}
//반복기 메서드 정의
IEnumerable<int> GetSingleDigitNumbers()
{
//반환타입은 IEnumerable<type>
yield return 0;
yield return 1;
yield return 2;
yield return 3;
yield return 4;
for (int i = 0; i < 5; i++)
{
yield return i + 5;
}
}
}
}