Queryable.AsQueryable Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
AsQueryable(IEnumerable) |
Převede objekt na IEnumerableIQueryable. |
AsQueryable<TElement>(IEnumerable<TElement>) |
Převede obecný IEnumerable<T> na obecný IQueryable<T>. |
AsQueryable(IEnumerable)
Převede objekt na IEnumerableIQueryable.
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
Posloupnost, která se má převést.
Návraty
Představuje IQueryable vstupní sekvenci.
Výjimky
source
neimplementuje IEnumerable<T> pro některé T
.
source
je null
.
Poznámky
Pokud typ source
implementuje IQueryable<T>, AsQueryable(IEnumerable) vrátí ho přímo. V opačném případě vrátí metodu IQueryable<T> , která spouští dotazy voláním ekvivalentních metod operátoru dotazu v Enumerable systému místo metod v Queryable.
Tato metoda předpokládá, že source
se pro některé T
implementuje IEnumerable<T> . Za běhu je výsledek typu IQueryable<T> pro stejný T
. Tato metoda je užitečná v dynamických scénářích, pokud staticky neznáte typ .T
Platí pro
AsQueryable<TElement>(IEnumerable<TElement>)
Převede obecný IEnumerable<T> na obecný 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 prvků objektu source
.
Parametry
- source
- IEnumerable<TElement>
Posloupnost, která se má převést.
Návraty
- IQueryable<TElement>
Představuje IQueryable<T> vstupní sekvenci.
Výjimky
source
je null
.
Příklady
Následující příklad kódu ukazuje, jak použít AsQueryable<TElement>(IEnumerable<TElement>) k převodu na IEnumerable<T>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
Poznámky
Pokud typ source
implementuje IQueryable<T>, AsQueryable<TElement>(IEnumerable<TElement>) vrátí ho přímo. V opačném případě vrátí metodu IQueryable<T> , která spouští dotazy voláním ekvivalentních metod operátoru dotazu v Enumerable systému místo metod v Queryable.