[개발] C#, .Net

[C#] IEnumerable 이란?

  • -
반응형

IEnumerable<T>는 C#의 컬렉션 인터페이스 중 하나로, 제네릭 타입을 지원하며 반복 가능한 컬렉션을 나타냅니다. 이 인터페이스는 데이터를 순차적으로 접근할 수 있는 기능을 제공합니다. IEnumerable는 .NET의 System.Collections.Generic 네임스페이스에 포함되어 있습니다.

주요 특징

순차적 접근: IEnumerable<T>는 컬렉션의 요소를 순차적으로 접근할 수 있게 합니다.

읽기 전용: IEnumerable<T>는 컬렉션의 요소를 읽기만 할 수 있으며, 수정은 불가능합니다.

LINQ 지원: LINQ 쿼리를 사용하여 IEnumerable<T> 컬렉션을 쉽게 처리할 수 있습니다.

지연 실행: LINQ 쿼리를 통해 IEnumerable<T> 컬렉션을 처리할 때 지연 실행을 지원합니다. 이는 쿼리가 실제로 반복될 때까지 실행되지 않음을 의미합니다.

주요 메서드

GetEnumerator(): IEnumerator<T>를 반환하여 컬렉션을 반복할 수 있게 합니다

 

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // List<T>는 IEnumerable<T>를 구현합니다.
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

        // IEnumerable<T>로 선언하여 사용할 수 있습니다.
        IEnumerable<int> enumerableNumbers = numbers;

        // foreach를 사용하여 요소를 순차적으로 접근합니다.
        foreach (int number in enumerableNumbers)
        {
            Console.WriteLine(number);
        }

        // LINQ 쿼리를 사용할 수도 있습니다.
        var evenNumbers = enumerableNumbers.Where(n => n % 2 == 0);

        Console.WriteLine("Even numbers:");
        foreach (int evenNumber in evenNumbers)
        {
            Console.WriteLine(evenNumber);
        }
    }
}
using System;
using System.Collections;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        IEnumerable<int> enumerable = numbers;
        IEnumerator<int> enumerator = enumerable.GetEnumerator();

        while (enumerator.MoveNext())
        {
            int number = enumerator.Current;
            Console.WriteLine(number);
        }
    }
}
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.