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

Définition

Convertit les éléments d’un objet IQueryable vers le type spécifié.

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)

Paramètres de type

TResult

Type vers lequel convertir les éléments de source.

Paramètres

source
IQueryable

IQueryable qui contient les éléments à convertir.

Retours

IQueryable<TResult>

Objet IQueryable<T> qui contient chaque élément de la séquence source convertie vers le type spécifié.

Exceptions

source a la valeur null.

Impossible de caster un élément de la séquence en type TResult.

Exemples

L’exemple de code suivant montre comment utiliser Cast<TResult>(IQueryable) pour convertir des objets dans une séquence en 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

Remarques

La Cast<TResult>(IQueryable) méthode génère un qui représente l’appel MethodCallExpression Cast<TResult>(IQueryable) d’une méthode générique construite. Il passe ensuite la MethodCallExpression CreateQuery(Expression) méthode de l’élément IQueryProvider représenté par la Provider propriété du source paramètre.

Le comportement de requête qui se produit en raison de l’exécution d’une arborescence d’expressions qui représente l’appel Cast<TResult>(IQueryable) dépend de l’implémentation du type du source paramètre. Le comportement attendu est qu’il convertit les valeurs en source type TResult.

S’applique à