Memo
Source Code
1
2
3
4
5
6
private List<int> list = new List<int>(10);
foreach (var item in list)
{
Console.WriteLine(item);
}
Generated Code
1
2
3
4
5
6
7
8
9
private List<int> list = new List<int>(10);
List<int>.Enumerator enumerator = list.GetEnumerator();
while (enumerator.MoveNext())
{
int item = enumerator.Current;
Console.WriteLine(item);
}
정리
.GetEnumerator()
를 통해, 구현된 Enumerator를 가져온다. 타입은 구현에 따라 달라진다.while(enumerator.MoveNext())
를 통해 진행 가능 여부를 가져온다.enumerator.Current
프로퍼티를 통해 현재 값을 참조한다.