AsQueryable(TElement) Method (IEnumerable(TElement))

Queryable.AsQueryable<TElement> Method (IEnumerable<TElement>)


Converts a generic IEnumerable<T> to a generic IQueryable<T>.

Namespace:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static IQueryable<TElement> AsQueryable<TElement>(
	this IEnumerable<TElement> source


Type: System.Collections.Generic.IEnumerable<TElement>

A sequence to convert.

Return Value

Type: System.Linq.IQueryable<TElement>

An IQueryable<T> that represents the input sequence.

Type Parameters


The type of the elements of source.

Exception Condition

source is null.

If the type of source implements IQueryable<T>, AsQueryable<TElement>(IEnumerable<TElement>) returns it directly. Otherwise, it returns an IQueryable<T> that executes queries by calling the equivalent query operator methods in Enumerable instead of those in Queryable.

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 =

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

Universal Windows Platform
Available since 4.5
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.1
Windows Phone
Available since 8.1
Return to top
© 2015 Microsoft