Ler em inglês

Partilhar via


Queryable.AsQueryable Método

Definição

Sobrecargas

AsQueryable(IEnumerable)

Origem:
Queryable.cs
Origem:
Queryable.cs
Origem:
Queryable.cs

Converte um IEnumerable em um IQueryable.

C#
public static System.Linq.IQueryable AsQueryable (this System.Collections.IEnumerable source);

Parâmetros

source
IEnumerable

Uma sequência a ser convertida.

Retornos

Um IQueryable que representa a sequência de entrada.

Exceções

source não implementa IEnumerable<T> para alguns T.

source é null.

Comentários

Se o tipo de source implementa IQueryable<T>, AsQueryable(IEnumerable) retorna-o diretamente. Caso contrário, ele retornará um IQueryable<T> que executa consultas chamando os métodos de operador de consulta equivalentes em Enumerable vez daqueles em Queryable.

Esse método pressupõe que source implementa IEnumerable<T> para alguns T. Em runtime, o resultado é do tipo IQueryable<T> para o mesmo T. Esse método é útil em cenários dinâmicos quando você não sabe estaticamente o tipo de T.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

AsQueryable<TElement>(IEnumerable<TElement>)

Origem:
Queryable.cs
Origem:
Queryable.cs
Origem:
Queryable.cs

Converte um IEnumerable<T> genérico em um IQueryable<T> genérico.

C#
public static System.Linq.IQueryable<TElement> AsQueryable<TElement> (this System.Collections.Generic.IEnumerable<TElement> source);

Parâmetros de tipo

TElement

O tipo dos elementos de source.

Parâmetros

source
IEnumerable<TElement>

Uma sequência a ser convertida.

Retornos

IQueryable<TElement>

Um IQueryable<T> que representa a sequência de entrada.

Exceções

source é null.

Exemplos

O exemplo de código a seguir demonstra como usar AsQueryable<TElement>(IEnumerable<TElement>) para converter um IEnumerable<T> em um IQueryable<T>.

C#
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
*/

Comentários

Se o tipo de source implementa IQueryable<T>, AsQueryable<TElement>(IEnumerable<TElement>) retorna-o diretamente. Caso contrário, ele retornará um IQueryable<T> que executa consultas chamando os métodos de operador de consulta equivalentes em Enumerable vez daqueles em Queryable.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0