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

Enumerable.OfType<TResult> 메서드 (IEnumerable)

 

게시 날짜: 2016년 11월

요소를 필터링 한 IEnumerable 지정된 된 형식에 기반 합니다.

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

public static IEnumerable<TResult> OfType<TResult>(
	this IEnumerable source
)

매개 변수

source
Type: System.Collections.IEnumerable

IEnumerable 요소를 필터링 합니다.

반환 값

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

IEnumerable<T> 형식의 입력된 시퀀스의 요소를 포함 하는 TResult합니다.

형식 매개 변수

TResult

시퀀스의 요소를 필터링할 형식입니다.

Exception Condition
ArgumentNullException

sourcenull인 경우

이 메서드는 지연 된 실행을 사용 하 여 구현 됩니다. 즉시 반환 값은 작업을 수행 하는 데 필요한 모든 정보를 저장 하는 개체입니다. 이 방법으로 나타내는 쿼리 호출 개체가 열거 될 때까지 실행 되지 않습니다 해당 GetEnumerator 메서드를 사용 하 여 직접 또는 foreach 에서 Visual C# 또는 For Each 에 Visual Basic합니다.

OfType<TResult>(IEnumerable) 메서드 반환에 있는 이러한 요소만 source 형식으로 캐스팅 될 수 있는 TResult합니다. 대신 요소 형식으로 캐스팅할 수 없는 경우 예외를 발생 시키려면 TResult, 를 사용 하 여 Cast<TResult>(IEnumerable)합니다.

이 메서드는 형식이 있는 매개 변수가 없는와 같은 컬렉션에 적용할 수 있는 몇 가지 표준 쿼리 연산자 메서드 중 하나는 ArrayList합니다. 즉, OfType<TResult> 형식을 확장 IEnumerable합니다. OfType<TResult> 기반으로 하는 컬렉션에만 적용할 수 없는 매개 변수가 IEnumerable<T> 형식이 아니라 컬렉션의 매개 변수가 없는 기반으로 하는 IEnumerable 도 입력 합니다.

적용 하 여 OfType<TResult> 구현 하는 컬렉션에 IEnumerable, 표준 쿼리 연산자를 사용 하 여 컬렉션을 쿼리 하는 기능을 얻을 수 있습니다. 형식 인수를 지정 하는 예를 들어 ObjectOfType<TResult> 형식의 개체를 반환 합니다 IEnumerable<Object> C# 또는 IEnumerable(Of Object) 에서 Visual Basic, 표준 쿼리 연산자에 적용할 수 있는를 합니다.

다음 코드 예제에 사용 하는 방법을 보여 줍니다 OfType<TResult> 의 요소를 필터링 하는 IEnumerable합니다.

System.Collections.ArrayList fruits = new System.Collections.ArrayList(4);
fruits.Add("Mango");
fruits.Add("Orange");
fruits.Add("Apple");
fruits.Add(3.0);
fruits.Add("Banana");

// Apply OfType() to the ArrayList.
IEnumerable<string> query1 = fruits.OfType<string>();

Console.WriteLine("Elements of type 'string' are:");
foreach (string fruit in query1)
{
    Console.WriteLine(fruit);
}

// The following query shows that the standard query operators such as 
// Where() can be applied to the ArrayList type after calling OfType().
IEnumerable<string> query2 =
    fruits.OfType<string>().Where(fruit => fruit.ToLower().Contains("n"));

Console.WriteLine("\nThe following strings contain 'n':");
foreach (string fruit in query2)
{
    Console.WriteLine(fruit);
}

// This code produces the following output:
//
// Elements of type 'string' are:
// Mango
// Orange
// Apple
// Banana
//
// The following strings contain 'n':
// Mango
// Orange
// Banana

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