Queryable.AsQueryable Метод
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
AsQueryable(IEnumerable) |
Преобразовывает коллекцию IEnumerable в объект IQueryable. |
AsQueryable<TElement>(IEnumerable<TElement>) |
Преобразовывает универсальный объект IEnumerable<T> в универсальный объект IQueryable<T>. |
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
Преобразовывает коллекцию IEnumerable в объект IQueryable.
public:
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable ^ AsQueryable(System::Collections::IEnumerable ^ source);
public static System.Linq.IQueryable AsQueryable (this System.Collections.IEnumerable source);
static member AsQueryable : System.Collections.IEnumerable -> System.Linq.IQueryable
<Extension()>
Public Function AsQueryable (source As IEnumerable) As IQueryable
Параметры
- source
- IEnumerable
Последовательность, подлежащая преобразованию.
Возвращаемое значение
Объект IQueryable, представляющий входную последовательность.
Исключения
Последовательность source
не реализует объект IEnumerable<T> для некоторых типов T
.
source
имеет значение null
.
Комментарии
Если тип source
реализует IQueryable<T>, AsQueryable(IEnumerable) возвращает его напрямую. В противном случае он возвращает IQueryable<T> объект , который выполняет запросы путем вызова эквивалентных методов оператора запроса вместо Enumerable методов в Queryable.
Этот метод предполагает, что 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 |
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
- Исходный код:
- Queryable.cs
Преобразовывает универсальный объект IEnumerable<T> в универсальный объект IQueryable<T>.
public:
generic <typename TElement>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TElement> ^ AsQueryable(System::Collections::Generic::IEnumerable<TElement> ^ source);
public static System.Linq.IQueryable<TElement> AsQueryable<TElement> (this System.Collections.Generic.IEnumerable<TElement> source);
static member AsQueryable : seq<'Element> -> System.Linq.IQueryable<'Element>
<Extension()>
Public Function AsQueryable(Of TElement) (source As IEnumerable(Of TElement)) As IQueryable(Of TElement)
Параметры типа
- TElement
Тип элементов source
.
Параметры
- source
- IEnumerable<TElement>
Последовательность, подлежащая преобразованию.
Возвращаемое значение
Объект IQueryable<T>, представляющий входную последовательность.
Исключения
source
имеет значение null
.
Примеры
В следующем примере кода показано, как использовать AsQueryable<TElement>(IEnumerable<TElement>) для преобразования в IEnumerable<T>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 =
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
*/
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
MsgBox("The NodeType of the expression tree is: " _
& expressionTree.NodeType.ToString())
MsgBox("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 |
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: