Queryable.AsQueryable Queryable.AsQueryable Queryable.AsQueryable Queryable.AsQueryable Method

Definicja

Przeciążenia

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

IEnumerable KonwertujeIQueryabledo.Converts an IEnumerable to an IQueryable.

AsQueryable<TElement>(IEnumerable<TElement>) AsQueryable<TElement>(IEnumerable<TElement>) AsQueryable<TElement>(IEnumerable<TElement>) AsQueryable<TElement>(IEnumerable<TElement>)

Konwertuje ogólny IEnumerable<T> na rodzajowy IQueryable<T>.Converts a generic IEnumerable<T> to a generic IQueryable<T>.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

IEnumerable KonwertujeIQueryabledo.Converts an IEnumerable to an 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 IEnumerable IEnumerable IEnumerable

Sekwencja do przekonwertowania.A sequence to convert.

Zwraca

IQueryable Reprezentuje sekwencję wejściową.An IQueryable that represents the input sequence.

Wyjątki

sourcenie implementuje IEnumerable<T> dla niektórych T.source does not implement IEnumerable<T> for some T.

Uwagi

Jeśli typ source implementuje IQueryable<T>, AsQueryable(IEnumerable) zwraca go bezpośrednio.If the type of source implements IQueryable<T>, AsQueryable(IEnumerable) returns it directly. W przeciwnym razie zwraca wartość IQueryable<T> , która wykonuje zapytania, wywołując równoważne Enumerable metody operatora zapytania zamiast tych w Queryable.Otherwise, it returns an IQueryable<T> that executes queries by calling the equivalent query operator methods in Enumerable instead of those in Queryable.

W tej metodzie source przyjęto założenie, że implementuje IEnumerable<T> dla niektórych T.This method assumes that source implements IEnumerable<T> for some T. W czasie wykonywania wynik jest typu IQueryable<T> dla tego samego. TAt runtime, the result is of type IQueryable<T> for the same T. Ta metoda jest przydatna w scenariuszach dynamicznych, jeśli nie znasz statycznie typu T.This method is useful in dynamic scenarios when you do not statically know the type of T.

AsQueryable<TElement>(IEnumerable<TElement>) AsQueryable<TElement>(IEnumerable<TElement>) AsQueryable<TElement>(IEnumerable<TElement>) AsQueryable<TElement>(IEnumerable<TElement>)

Konwertuje ogólny IEnumerable<T> na rodzajowy IQueryable<T>.Converts a generic IEnumerable<T> to a generic 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 source.The type of the elements of source.

Parametry

source
IEnumerable<TElement>

Sekwencja do przekonwertowania.A sequence to convert.

Zwraca

IQueryable<TElement>

IQueryable<T> Reprezentuje sekwencję wejściową.An IQueryable<T> that represents the input sequence.

Wyjątki

Przykłady

Poniższy przykład kodu pokazuje, jak używać AsQueryable<TElement>(IEnumerable<TElement>) do IEnumerable<T> konwersji do IQueryable<T>.The following code example demonstrates how to use AsQueryable<TElement>(IEnumerable<TElement>) to convert an IEnumerable<T> to an 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>, AsQueryable<TElement>(IEnumerable<TElement>) zwraca go bezpośrednio.If the type of source implements IQueryable<T>, AsQueryable<TElement>(IEnumerable<TElement>) returns it directly. W przeciwnym razie zwraca wartość IQueryable<T> , która wykonuje zapytania, wywołując równoważne Enumerable metody operatora zapytania zamiast tych w Queryable.Otherwise, it returns an IQueryable<T> that executes queries by calling the equivalent query operator methods in Enumerable instead of those in Queryable.

Dotyczy