Queryable.Cast<TResult>(IQueryable) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
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.