Queryable.Cast<TResult>(IQueryable) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Convertit les éléments d’un IQueryable 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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static System.Linq.IQueryable<TResult> Cast<TResult>(this System.Linq.IQueryable source);
static member Cast : System.Linq.IQueryable -> System.Linq.IQueryable<'Result>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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
Qui IQueryable contient les éléments à convertir.
Retours
Qui IQueryable<T> contient chaque élément de la séquence source converti en type spécifié.
- Attributs
Exceptions
source a la valeur null.
Un élément de la séquence ne peut pas être converti 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 MethodCallExpressionCast<TResult>(IQueryable) lui-même en tant que méthode générique construite. Il passe ensuite la MethodCallExpressionCreateQuery(Expression) méthode de l’objet IQueryProvider représenté par la Provider propriété du source paramètre.
Le comportement de requête qui se produit suite à 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.