[c#] C# 이터레이터와 시퀀스 처리
C#에서 이터레이터는 시퀀스(데이터 목록 또는 배열과 같은)를 처리할 수 있는 강력한 도구입니다.
이터레이터란 무엇인가?
이터레이터는 yield
키워드를 사용하여 시퀀스를 반환하는 메서드를 선언하는 데 사용됩니다. yield
키워드를 사용하면 메서드는 호출자에게 시퀀스의 각 요소를 반환하고 해당 위치에서 일시 중지한 다음 다음 요소로 이동합니다.
public IEnumerable<int> GetNumbers()
{
yield return 1;
yield return 2;
yield return 3;
}
위의 코드는 GetNumbers
메서드가 이터레이터로 작동하도록 만듭니다.
시퀀스 처리하기
이터레이터를 사용하면 foreach
문을 사용하여 시퀀스의 모든 요소를 쉽게 반복할 수 있습니다.
foreach (var number in GetNumbers())
{
Console.WriteLine(number);
}
이때 GetNumbers
메서드가 실제로 호출되는 시점은 foreach
반복문이 실행될 때이며, 각 반복마다 GetNumbers
메서드는 yield
된 값을 반환합니다.
이터레이터를 활용하면 시퀀스를 효율적으로 처리하고 관리할 수 있습니다.
결론
C#의 이터레이터는 시퀀스 처리를 간편하고 효율적으로 만들어 줍니다. yield
키워드를 이용하여 데이터 시퀀스를 더 쉽게 다룰 수 있으며, 코드를 더 모듈화하고 가독성 있게 작성할 수 있습니다.
이러한 이터레이터를 활용하면 데이터 처리 코드를 작성하고 관리하는 일이 훨씬 쉬워집니다.