Queryable.Cast(IQueryable) Queryable.Cast(IQueryable) Queryable.Cast(IQueryable) Queryable.Cast(IQueryable) Method

Definizione

Converte gli elementi di un oggetto IQueryable nel tipo specificato.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)

Parametri di tipo

TResult

Tipo in cui convertire gli elementi di source.The type to convert the elements of source to.

Parametri

source
IQueryable IQueryable IQueryable IQueryable

Il IQueryable che contiene gli elementi da convertire.The IQueryable that contains the elements to be converted.

Restituisce

IQueryable<TResult>

IQueryable<T> che contiene ogni elemento della sequenza di origine convertito nel tipo specificato.An IQueryable<T> that contains each element of the source sequence converted to the specified type.

Eccezioni

Un elemento nella sequenza non può essere convertito nel tipo TResult.An element in the sequence cannot be cast to type TResult.

Esempi

Esempio di codice seguente viene illustrato come utilizzare Cast<TResult>(IQueryable) per convertire oggetti in una sequenza in cui digitare 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

Commenti

Il Cast<TResult>(IQueryable) metodo genera un MethodCallExpression che rappresenta una chiamata Cast<TResult>(IQueryable) stesso come un metodo generico costruito.The Cast<TResult>(IQueryable) method generates a MethodCallExpression that represents calling Cast<TResult>(IQueryable) itself as a constructed generic method. Passa quindi il MethodCallExpression per il CreateQuery(Expression) metodo del IQueryProvider rappresentato dal Provider proprietà del source parametro.It then passes the MethodCallExpression to the CreateQuery(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Il comportamento delle query che si verifica in seguito all'esecuzione di un albero delle espressioni che rappresenta una chiamata Cast<TResult>(IQueryable) dipende dall'implementazione del tipo del source parametro.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. Il comportamento previsto è che converte i valori nelle source al tipo TResult.The expected behavior is that it converts the values in source to type TResult.

Si applica a