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)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
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
Jedná se IQueryable o vstupní sekvenci.
Výjimky
source
neimplementuje IEnumerable<T> pro některé T
.
source
je null
.
Poznámky
Pokud typ implementuje IQueryable<T>, AsQueryable(IEnumerable) vrátí ho source
přímo. V opačném případě vrátí IQueryable<T> dotaz, který provádí dotazy voláním ekvivalentních metod operátoru dotazu v Enumerable namísto metod v Queryable.
Tato metoda předpokládá, že source
implementuje IEnumerable<T> pro některé 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 objektu T
.
Platí pro
AsQueryable<TElement>(IEnumerable<TElement>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
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 elementů .source
Parametry
- source
- IEnumerable<TElement>
Posloupnost, která se má převést.
Návraty
Jedná se IQueryable<T> o 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 implementuje IQueryable<T>, AsQueryable<TElement>(IEnumerable<TElement>) vrátí ho source
přímo. V opačném případě vrátí IQueryable<T> dotaz, který provádí dotazy voláním ekvivalentních metod operátoru dotazu v Enumerable namísto metod v Queryable.