Queryable.Cast<TResult>(IQueryable) 메서드

정의

IQueryable의 요소를 지정된 형식으로 변환합니다.Converts the elements of an IQueryable to the specified type.

public:
generic <typename TResult>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TResult> ^ Cast(System::Linq::IQueryable ^ source);
public static System.Linq.IQueryable<TResult> Cast<TResult> (this System.Linq.IQueryable source);
static member Cast : System.Linq.IQueryable -> System.Linq.IQueryable<'Result>
<Extension()>
Public Function Cast(Of TResult) (source As IQueryable) As IQueryable(Of TResult)

형식 매개 변수

TResult

source의 요소를 변환할 형식입니다.The type to convert the elements of source to.

매개 변수

source
IQueryable

변환할 요소가 들어 있는 IQueryable입니다.The IQueryable that contains the elements to be converted.

반환

IQueryable<TResult>

지정된 형식으로 변환되는 소스 시퀀스의 각 요소가 들어 있는 IQueryable<T>입니다.An IQueryable<T> that contains each element of the source sequence converted to the specified type.

예외

source이(가) null인 경우source is null.

시퀀스의 요소를 TResult 형식으로 캐스팅할 수 없는 경우An element in the sequence cannot be cast to type TResult.

예제

다음 코드 예제에서는를 사용 하 여 Cast<TResult>(IQueryable) 시퀀스의 개체를 형식으로 변환 하는 방법을 보여 줍니다 String .The following code example demonstrates how to use Cast<TResult>(IQueryable) to convert objects in a sequence to type String.


// Create a list of objects.
List<object> words =
    new List<object> { "green", "blue", "violet" };

// Cast the objects in the list to type 'string'
// and project the first letter of each string.
IEnumerable<string> query =
    words.AsQueryable()
    .Cast<string>()
    .Select(str => str.Substring(0, 1));

foreach (string s in query)
    Console.WriteLine(s);

/*  This code produces the following output:

    g
    b
    v
*/


' Create a list of objects.
Dim words As New List(Of Object)(New Object() {"green", "blue", "violet"})

' Cast the objects in the list to type 'string'
' and project the first letter of each string.
Dim query As IEnumerable(Of String) = _
    words.AsQueryable() _
            .Cast(Of String)() _
            .Select(Function(str) str.Substring(0, 1))

For Each s As String In query
    MsgBox(s)
Next

' This code produces the following output:
'
' g
' b
' v

설명

Cast<TResult>(IQueryable)메서드는 자신을 MethodCallExpression 생성 된 제네릭 메서드로 호출 하는을 생성 합니다 Cast<TResult>(IQueryable) .The Cast<TResult>(IQueryable) method generates a MethodCallExpression that represents calling Cast<TResult>(IQueryable) itself as a constructed generic method. 그런 다음 MethodCallExpression CreateQuery(Expression) IQueryProvider Provider 매개 변수의 속성이 나타내는의 메서드에를 전달 합니다 source .It then passes the MethodCallExpression to the CreateQuery(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

호출을 나타내는 식 트리를 실행 한 결과로 발생 하는 쿼리 동작은 Cast<TResult>(IQueryable) 매개 변수의 형식 구현에 따라 달라 집니다 source .The query behavior that occurs as a result of executing an expression tree that represents calling Cast<TResult>(IQueryable) depends on the implementation of the type of the source parameter. 예상 되는 동작은의 값을 형식으로 변환 하는 것입니다 source TResult .The expected behavior is that it converts the values in source to type TResult.

적용 대상