Queryable.AsQueryable 方法

定義

多載

AsQueryable(IEnumerable)

來源:
Queryable.cs
來源:
Queryable.cs
來源:
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> 其會呼叫 中的 Enumerable 對等查詢運算符方法,而不是中的 Queryable方法來執行查詢。

這個方法假設source針對某些 TIEnumerable<T>作 。 在運行時間,結果為相同 T的型IQueryable<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>)

來源:
Queryable.cs
來源:
Queryable.cs
來源:
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> 其會呼叫 中的 Enumerable 對等查詢運算符方法,而不是中的 Queryable方法來執行查詢。

適用於

.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