Queryable.AsQueryable 方法

定义

重载

AsQueryable(IEnumerable)

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

IEnumerable 转换为 IQueryable

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

参数

source
IEnumerable

要转换的序列。

返回

一个 IQueryable,表示输入序列。

例外

source 未为某些 T 实现 IEnumerable<T>

sourcenull

注解

如果 的类型 source 实现 IQueryable<T>AsQueryable(IEnumerable) 则直接返回它。 否则,它将返回一个 IQueryable<T> ,它通过调用 中的等效查询运算符方法而不是 中的EnumerableQueryable方法来执行查询。

此方法假定 source 为某些 T实现IEnumerable<T>。 在运行时,结果的类型 IQueryable<T> 相同 T。 当你不静态地知道 的类型 T时,此方法在动态方案中很有用。

适用于

.NET 9 和其他版本
产品 版本
.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>)

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

将泛型 IEnumerable<T> 转换为泛型 IQueryable<T>

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

类型参数

TElement

source 的元素类型。

参数

source
IEnumerable<TElement>

要转换的序列。

返回

IQueryable<TElement>

一个 IQueryable<T>,表示输入序列。

例外

sourcenull

示例

下面的代码示例演示如何使用 AsQueryable<TElement>(IEnumerable<TElement>) 将 转换为 IEnumerable<T>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
*/

注解

如果 的类型 source 实现 IQueryable<T>AsQueryable<TElement>(IEnumerable<TElement>) 则直接返回它。 否则,它将返回一个 IQueryable<T> ,它通过调用 中的等效查询运算符方法而不是 中的EnumerableQueryable方法来执行查询。

适用于

.NET 9 和其他版本
产品 版本
.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