Queryable.Cast<TResult>(IQueryable) Metodo

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

Oggetto 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

source è null.source is null.

Non è possibile eseguire il cast di un elemento della sequenza al tipo TResult.An element in the sequence cannot be cast to type TResult.

Esempi

Nell'esempio di codice riportato di seguito viene Cast<TResult>(IQueryable) illustrato come utilizzare per convertire gli oggetti in Stringuna sequenza nel tipo.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 oggetto che rappresenta Cast<TResult>(IQueryable) la chiamata a se stesso come metodo generico costruito.The Cast<TResult>(IQueryable) method generates a MethodCallExpression that represents calling Cast<TResult>(IQueryable) itself as a constructed generic method. Passa MethodCallExpression IQueryProvider quindi al source metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider CreateQuery(Expression)It then passes the MethodCallExpression to the CreateQuery(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Cast<TResult>(IQueryable) rappresenta la chiamata dipende dall'implementazione del tipo source di 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 in nel source tipo. TResultThe expected behavior is that it converts the values in source to type TResult.

Si applica a