[c#] C# 이터레이터 패턴 활용
이터레이터 패턴은 객체의 요소에 순차적으로 접근하는 방법을 제공하는 디자인 패턴입니다. C#에서는 이터레이터를 이용하여 컬렉션을 간편하게 순회할 수 있습니다. 이번 포스트에서는 C#에서 이터레이터 패턴을 활용하는 방법을 살펴보겠습니다.
이터레이터 패턴 소개
이터레이터 패턴은 컬렉션의 내부 구조를 노출하지 않으면서 요소에 접근할 수 있는 방법을 제공합니다. 이는 코드의 간결성과 유지보수성을 높여줍니다. C#에서는 IEnumerable
및 IEnumerator
인터페이스를 활용하여 이터레이터 패턴을 구현할 수 있습니다.
C#에서 이터레이터 패턴 활용하기
아래는 C#에서 이터레이터를 활용하여 컬렉션을 순회하는 간단한 예제 코드입니다.
using System;
using System.Collections;
using System.Collections.Generic;
public class MyCollection : IEnumerable<int>
{
private List<int> data = new List<int>();
public void Add(int item)
{
data.Add(item);
}
public IEnumerator<int> GetEnumerator()
{
foreach (var item in data)
{
yield return item;
}
}
IEnumerator IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
}
class Program
{
static void Main(string[] args)
{
MyCollection collection = new MyCollection();
collection.Add(1);
collection.Add(2);
collection.Add(3);
foreach (var item in collection)
{
Console.WriteLine(item);
}
}
}
위 코드에서 MyCollection
클래스는 IEnumerable<int>
인터페이스를 구현하고 있으며, GetEnumerator
메서드를 통해 이터레이터를 반환하고 있습니다. 따라서 foreach
문을 사용하여 컬렉션을 순회할 수 있습니다.
요약
C#에서 이터레이터 패턴은 컬렉션을 순회하고 요소에 접근하는 간단하고 효율적인 방법을 제공합니다. 이는 코드의 가독성과 유지보수성을 높여줄 뿐만 아니라, 반복 작업을 수행할 때 유용합니다.
이번 포스트에서는 C#에서의 이터레이터 패턴의 기본적인 개념과 활용하는 방법에 대해 알아보았습니다. 이를 통해 C# 프로그래밍에서 컬렉션을 다룰 때 이터레이터 패턴을 적극적으로 활용하여 코드를 개선할 수 있을 것입니다.
References
- MSDN Documentation: Iterators (C# and Visual Basic)
- Head First Design Patterns, by Eric Freeman and Elisabeth Robson