Teilen über


Queryable.AsQueryable Methode

Definition

Überlädt

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Konvertiert ein generisches IEnumerable<T> in ein generisches IQueryable<T>.

AsQueryable(IEnumerable)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Konvertiert einen IEnumerable in einen 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

Parameter

source
IEnumerable

Eine zu konvertierende Sequenz.

Gibt zurück

Ein IQueryable, das die Eingabesequenz darstellt.

Ausnahmen

Für einige source wird IEnumerable<T> von T nicht implementiert.

source ist null.

Hinweise

Wenn der Typ von source implementiert IQueryable<T>ist, AsQueryable(IEnumerable) gibt sie direkt zurück. Andernfalls wird ein IQueryable<T> zurückgegeben, das Abfragen ausführt, indem die entsprechenden Abfrageoperatormethoden in Enumerable anstelle von in Queryableaufgerufen werden.

Bei dieser Methode wird davon ausgegangen, dass source für einige Timplementiert IEnumerable<T> wird. Zur Laufzeit ist das Ergebnis vom Typ IQueryable<T> für dasselbe T. Diese Methode ist in dynamischen Szenarien nützlich, wenn Sie den Typ von Tnicht statisch kennen.

Gilt für:

AsQueryable<TElement>(IEnumerable<TElement>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Konvertiert ein generisches IEnumerable<T> in ein generisches 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)

Typparameter

TElement

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TElement>

Eine zu konvertierende Sequenz.

Gibt zurück

IQueryable<TElement>

Ein IQueryable<T>, das die Eingabesequenz darstellt.

Ausnahmen

source ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, AsQueryable<TElement>(IEnumerable<TElement>) wie ein in ein IQueryable<T>konvertiert IEnumerable<T> wird.

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

Hinweise

Wenn der Typ von source implementiert IQueryable<T>ist, AsQueryable<TElement>(IEnumerable<TElement>) gibt sie direkt zurück. Andernfalls wird ein IQueryable<T> zurückgegeben, das Abfragen ausführt, indem die entsprechenden Abfrageoperatormethoden in Enumerable anstelle von in Queryableaufgerufen werden.

Gilt für: