Queryable.Cast<TResult>(IQueryable) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Konverterar elementen i en IQueryable till den angivna typen.
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)
Typparametrar
- TResult
Den typ som elementen i konverteras source till.
Parametrar
- source
- IQueryable
Som IQueryable innehåller de element som ska konverteras.
Returer
En IQueryable<T> som innehåller varje element i källsekvensen som konverterats till den angivna typen.
Undantag
source är null.
Ett element i sekvensen kan inte gjutas för att skriva TResult.
Exempel
Följande kodexempel visar hur du använder Cast<TResult>(IQueryable) för att konvertera objekt i en sekvens för att skriva 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
Kommentarer
Metoden Cast<TResult>(IQueryable) genererar en MethodCallExpression som representerar att anropa Cast<TResult>(IQueryable) sig själv som en konstruerad generisk metod. Den skickar sedan till CreateQuery(Expression) metoden för den IQueryProvider som representeras av Provider egenskapen för parameternsource.MethodCallExpression
Frågebeteendet som uppstår till följd av att ett uttrycksträd som representerar anrop Cast<TResult>(IQueryable) körs beror på implementeringen av source parametertypen. Det förväntade beteendet är att det konverterar värdena i source för att skriva TResult.