[c#] C# 이터레이터 패턴 활용

이터레이터 패턴은 객체의 요소에 순차적으로 접근하는 방법을 제공하는 디자인 패턴입니다. C#에서는 이터레이터를 이용하여 컬렉션을 간편하게 순회할 수 있습니다. 이번 포스트에서는 C#에서 이터레이터 패턴을 활용하는 방법을 살펴보겠습니다.

이터레이터 패턴 소개

이터레이터 패턴은 컬렉션의 내부 구조를 노출하지 않으면서 요소에 접근할 수 있는 방법을 제공합니다. 이는 코드의 간결성과 유지보수성을 높여줍니다. C#에서는 IEnumerableIEnumerator 인터페이스를 활용하여 이터레이터 패턴을 구현할 수 있습니다.

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