Compartir a través de


Queryable.Cast<TResult>(IQueryable) Método

Definición

Convierte los elementos de IQueryable en el tipo especificado.

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)

Parámetros de tipo

TResult

Tipo al que se convierten los elementos de source.

Parámetros

source
IQueryable

IQueryable que contiene los elementos que se van a convertir.

Devoluciones

IQueryable<TResult>

IQueryable<T> que contiene cada elemento de la secuencia de origen convertido en el tipo especificado.

Excepciones

source es null.

Un elemento de la secuencia no se puede convertir al tipo TResult.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar Cast<TResult>(IQueryable) para convertir objetos de una secuencia en el tipo 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

Comentarios

El Cast<TResult>(IQueryable) método genera un MethodCallExpression objeto que representa llamarse Cast<TResult>(IQueryable) a sí mismo como un método genérico construido. A continuación, pasa al MethodCallExpressionCreateQuery(Expression) método del IQueryProvider representado por la Provider propiedad del source parámetro .

El comportamiento de la consulta que se produce como resultado de ejecutar un árbol de expresión que representa la llamada Cast<TResult>(IQueryable) depende de la implementación del tipo del source parámetro. El comportamiento esperado es que convierte los valores en en source en el tipo TResult.

Se aplica a