Queryable.Cast<TResult>(IQueryable) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Konvertiert die Elemente einer IQueryable in den angegebenen Typ.
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)
Typparameter
- TResult
Der Typ, in den die Elemente von source
konvertiert werden sollen.
Parameter
- source
- IQueryable
Das IQueryable, das die zu konvertierenden Elemente enthält.
Gibt zurück
Eine IQueryable<T>, die jedes in den angegebenen Typ konvertierte Element der Quellsequenz enthält.
Ausnahmen
source
ist null
.
Ein Element in der Sequenz kann nicht in den Typ TResult
umgewandelt werden.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden Cast<TResult>(IQueryable) , um Objekte in einer Sequenz in den Typ Stringzu konvertieren.
// 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
Hinweise
Die Cast<TResult>(IQueryable) -Methode generiert eine MethodCallExpression , die den Aufruf Cast<TResult>(IQueryable) selbst als konstruierte generische Methode darstellt. Anschließend wird an MethodCallExpression die CreateQuery(Expression) -Methode des übergeben, das IQueryProvider durch die Provider -Eigenschaft des source
-Parameters dargestellt wird.
Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die den Aufruf Cast<TResult>(IQueryable) darstellt, hängt von der Implementierung des Typs des source
Parameters ab. Das erwartete Verhalten besteht darin, dass die Werte in in source
den Typ TResult
konvertiert werden.