이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

Enumerable.AsEnumerable<TSource> 메서드 (IEnumerable<TSource>)

 

게시 날짜: 2016년 11월

로 형식이 지정 된 입력 반환 IEnumerable<T>합니다.

네임스페이스:   System.Linq
어셈블리:  System.Core(System.Core.dll에 있음)

public static IEnumerable<TSource> AsEnumerable<TSource>(
	this IEnumerable<TSource> source
)

매개 변수

source
Type: System.Collections.Generic.IEnumerable<TSource>

으로 입력 하는 순서 IEnumerable<T>합니다.

반환 값

Type: System.Collections.Generic.IEnumerable<TSource>

로 형식이 지정 된 입력된 시퀀스 IEnumerable<T>합니다.

형식 매개 변수

TSource

요소 형식의 source합니다.

AsEnumerable<TSource>(IEnumerable<TSource>) 메서드는 아무 효과도 이외의의 컴파일 타임 형식 변경 source 구현 하는 형식에서 IEnumerable<T>IEnumerable<T> 자체입니다.

AsEnumerable<TSource>(IEnumerable<TSource>) 쿼리 구현 하는 경우 시퀀스 구현 중 하나를 선택 하는 데 사용 될 IEnumerable<T> 이지만 다른 집합을 사용할 수 있는 공용 쿼리 메서드를 가집니다. 예를 들어 제네릭 클래스 Table 를 구현 하는 IEnumerable<T> 와 같은 자체 메서드를 갖습니다 Where, Select, 및 SelectMany, 에 대 한 호출 Where 호출 하는 공용 Where 메서드의 Table합니다. A Table 데이터베이스 테이블을 나타내는 형식에 있을 수는 Where식 트리로 조건자 인수를 사용 하 고 원격 실행을 위해 트리를 SQL로 변환 하는 방법입니다. 원격 실행이 필요 하지 않으면, 예를 들어 조건자가 로컬 메서드 호출 때문에 AsEnumerable<TSource> 를 사용자 지정 메서드를 숨기고 대신 표준 쿼리 연산자를 사용할 수 있도록 메서드를 사용할 수 있습니다.

다음 코드 예제에 사용 하는 방법을 보여 줍니다 AsEnumerable<TSource>(IEnumerable<TSource>) 형식 숨기려면의 사용자 지정 Where 메서드는 표준 쿼리 연산자 구현이 필요할 경우.

// Custom class.
class Clump<T> : List<T>
{
    // Custom implementation of Where().
    public IEnumerable<T> Where(Func<T, bool> predicate)
    {
        Console.WriteLine("In Clump's implementation of Where().");
        return Enumerable.Where(this, predicate);
    }
}

static void AsEnumerableEx1()
{
    // Create a new Clump<T> object.
    Clump<string> fruitClump =
        new Clump<string> { "apple", "passionfruit", "banana", 
            "mango", "orange", "blueberry", "grape", "strawberry" };

    // First call to Where():
    // Call Clump's Where() method with a predicate.
    IEnumerable<string> query1 =
        fruitClump.Where(fruit => fruit.Contains("o"));

    Console.WriteLine("query1 has been created.\n");

    // Second call to Where():
    // First call AsEnumerable() to hide Clump's Where() method and thereby
    // force System.Linq.Enumerable's Where() method to be called.
    IEnumerable<string> query2 =
        fruitClump.AsEnumerable().Where(fruit => fruit.Contains("o"));

    // Display the output.
    Console.WriteLine("query2 has been created.");
}

// This code produces the following output:
//
// In Clump's implementation of Where().
// query1 has been created.
//
// query2 has been created.

유니버설 Windows 플랫폼
8 이후 사용 가능
.NET Framework
3.5 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능
Windows Phone
8.1 이후 사용 가능
맨 위로 이동
표시: