Queryable.Cast<TResult>(IQueryable) Methode

Definitie

Converteert de elementen van een IQueryable naar het opgegeven 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)

Type parameters

TResult

Het type waarvan de elementen source moeten worden geconverteerd.

Parameters

source
IQueryable

De IQueryable elementen die moeten worden geconverteerd.

Retouren

IQueryable<TResult>

Een IQueryable<T> die elk element van de bronreeks bevat dat is geconverteerd naar het opgegeven type.

Uitzonderingen

source is null.

Een element in de reeks kan niet worden gecast om te typen TResult.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe Cast<TResult>(IQueryable) u objecten in een reeks kunt converteren om te typen 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

Opmerkingen

De Cast<TResult>(IQueryable) methode genereert een MethodCallExpression die zichzelf aanroept Cast<TResult>(IQueryable) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de CreateQuery(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.

Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Cast<TResult>(IQueryable) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat de waarden worden source geconverteerd naar type TResult.

Van toepassing op