.NET Framework Class Library for Silverlight
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)
Syntax
Visual Basic (Declaration)
<ExtensionAttribute> _ Public Shared Function AsQueryable(Of TElement) ( _ source As IEnumerable(Of TElement) _ ) As IQueryable(Of TElement)
C#
public static IQueryable<TElement> AsQueryable<TElement>( this IEnumerable<TElement> source )
Type Parameters
- TElement
-
The type of the elements of source.
Parameters
- 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.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable<TElement>. When you use instance method syntax to call this method, omit the first parameter.Exceptions
| Exception | Condition |
|---|---|
| ArgumentNullException |
source is null. |
Remarks
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.
Examples
The following code example demonstrates how to use AsQueryable<TElement>(IEnumerable<TElement>) to convert an IEnumerable<T> to an IQueryable<T>.
Visual Basic
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
outputBlock.Text &= "The NodeType of the expression tree is: " _
& expressionTree.NodeType.ToString() & vbCrLf
outputBlock.Text &= "The Type of the expression tree is: " _
& expressionTree.Type.Name & vbCrLf
' This code produces the following output:
'
' The NodeType of the expression tree is: Constant
' The Type of the expression tree is: EnumerableQuery`1
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; outputBlock.Text += "The NodeType of the expression tree is: " + expressionTree.NodeType.ToString() + "\n"; outputBlock.Text += "The Type of the expression tree is: " + expressionTree.Type.Name + "\n"; /* This code produces the following output: The NodeType of the expression tree is: Constant The Type of the expression tree is: EnumerableQuery`1 */
Version Information
Silverlight
Supported in: 5, 4, 3Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
See Also