Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# AsEnumerable() 메서드 사용법과 예제

C#에서 특정 컬렉션을 IEnumerable 타입으로 변환해야 할 때 AsEnumerable() 메서드를 사용할 수 있습니다. 이 메서드는 System.Linq 네임스페이스에 포함된 확장 메서드(Extension Method)로, 배열이나 리스트 같은 다양한 컬렉션을 IEnumerable 인터페이스 기반으로 손쉽게 다룰 수 있게 해줍니다.

AsEnumerable() 메서드란?

AsEnumerable()은 호출된 객체를 그대로 IEnumerable<T> 타입으로 캐스팅하는 역할을 합니다. 실제로 데이터가 복사되는 것은 아니며, 단순히 타입 관점에서 IEnumerable로 접근할 수 있도록 해주는 가볍고 효율적인 방법입니다.

배열 선언하기

먼저 다음과 같이 정수형 배열을 하나 생성해 보겠습니다.

int[] arr = new int[5];
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
arr[3] = 40;
arr[4] = 50;

IEnumerable로 변환하기

이제 AsEnumerable() 메서드를 호출하여 배열의 IEnumerable 버전을 가져옵니다.

var res = arr.AsEnumerable();

전체 예제 코드

지금까지 설명한 내용을 모두 담은 완전한 C# 프로그램입니다.

using System;
using System.Linq;

class Demo {
    static void Main() {
        int[] arr = new int[5];
        arr[0] = 10;
        arr[1] = 20;
        arr[2] = 30;
        arr[3] = 40;
        arr[4] = 50;

        var res = arr.AsEnumerable();

        foreach (var ele in res) {
            Console.WriteLine(ele);
        }
    }
}

실행 결과

10
20
30
40
50

마무리

AsEnumerable()은 LINQ 쿼리 작성 시 데이터 소스를 IEnumerable로 명확히 하고 싶거나, 구체적인 컬렉션 타입 대신 인터페이스 기반으로 데이터를 처리하고자 할 때 유용하게 활용됩니다. 데이터 복사 없이 타입만 변환되기 때문에 성능 부담 없이 안심하고 사용할 수 있습니다.