Queryable.AsQueryable Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
| AsQueryable(IEnumerable) |
Konwertuje element IEnumerable na .IQueryable |
| AsQueryable<TElement>(IEnumerable<TElement>) |
Konwertuje rodzajowy IEnumerable<T> na ogólny IQueryable<T>. |
AsQueryable(IEnumerable)
Konwertuje element IEnumerable na .IQueryable
public:
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable ^ AsQueryable(System::Collections::IEnumerable ^ source);
public static System.Linq.IQueryable AsQueryable (this System.Collections.IEnumerable source);
static member AsQueryable : System.Collections.IEnumerable -> System.Linq.IQueryable
<Extension()>
Public Function AsQueryable (source As IEnumerable) As IQueryable
Parametry
- source
- IEnumerable
Sekwencja do konwersji.
Zwraca
Element IQueryable reprezentujący sekwencję wejściową.
Wyjątki
source program nie implementuje IEnumerable<T> dla niektórych Telementów .
source to null.
Uwagi
Jeśli typ source implementuje IQueryable<T>element , AsQueryable(IEnumerable) zwraca go bezpośrednio. W przeciwnym razie zwraca element IQueryable<T> , który wykonuje zapytania, wywołując równoważne metody Enumerable operatorów zapytań zamiast tych w elemencie Queryable.
W tej metodzie przyjęto założenie, że source implementuje IEnumerable<T> program dla niektórych Telementów . W czasie wykonywania wynik jest typu IQueryable<T> dla tego samego Telementu . Ta metoda jest przydatna w scenariuszach dynamicznych, gdy nie znasz statycznie typu T.
Dotyczy
AsQueryable<TElement>(IEnumerable<TElement>)
Konwertuje rodzajowy IEnumerable<T> na ogólny IQueryable<T>.
public:
generic <typename TElement>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TElement> ^ AsQueryable(System::Collections::Generic::IEnumerable<TElement> ^ source);
public static System.Linq.IQueryable<TElement> AsQueryable<TElement> (this System.Collections.Generic.IEnumerable<TElement> source);
static member AsQueryable : seq<'Element> -> System.Linq.IQueryable<'Element>
<Extension()>
Public Function AsQueryable(Of TElement) (source As IEnumerable(Of TElement)) As IQueryable(Of TElement)
Parametry typu
- TElement
Typ elementów elementu source.
Parametry
- source
- IEnumerable<TElement>
Sekwencja do konwersji.
Zwraca
- IQueryable<TElement>
Element IQueryable<T> reprezentujący sekwencję wejściową.
Wyjątki
source to null.
Przykłady
W poniższym przykładzie kodu pokazano, jak użyć metody AsQueryable<TElement>(IEnumerable<TElement>) w celu przekonwertowania IEnumerable<T> elementu na element IQueryable<T>.
List<int> grades = new List<int> { 78, 92, 100, 37, 81 };
// Convert the List to an IQueryable<int>.
IQueryable<int> iqueryable = grades.AsQueryable();
// Get the Expression property of the IQueryable object.
System.Linq.Expressions.Expression expressionTree =
iqueryable.Expression;
Console.WriteLine("The NodeType of the expression tree is: "
+ expressionTree.NodeType.ToString());
Console.WriteLine("The Type of the expression tree is: "
+ expressionTree.Type.Name);
/*
This code produces the following output:
The NodeType of the expression tree is: Constant
The Type of the expression tree is: EnumerableQuery`1
*/
Dim grades As New List(Of Integer)(New Integer() {78, 92, 100, 37, 81})
' Convert the List to an IQueryable<int>.
Dim iqueryable As IQueryable(Of Integer) = grades.AsQueryable()
' Get the Expression property of the IQueryable object.
Dim expressionTree As System.Linq.Expressions.Expression = _
iqueryable.Expression
MsgBox("The NodeType of the expression tree is: " _
& expressionTree.NodeType.ToString())
MsgBox("The Type of the expression tree is: " _
& expressionTree.Type.Name)
' This code produces the following output:
'
' The NodeType of the expression tree is: Constant
' The Type of the expression tree is: EnumerableQuery`1
Uwagi
Jeśli typ source implementuje IQueryable<T>element , AsQueryable<TElement>(IEnumerable<TElement>) zwraca go bezpośrednio. W przeciwnym razie zwraca element IQueryable<T> , który wykonuje zapytania, wywołując równoważne metody Enumerable operatorów zapytań zamiast tych w elemencie Queryable.