Прочитать на английском

Поделиться через


Queryable.Take Метод

Определение

Перегрузки

Take<TSource>(IQueryable<TSource>, Int32)

Возвращает указанное число подряд идущих элементов с начала последовательности.

Take<TSource>(IQueryable<TSource>, Range)

Возвращает указанный диапазон смежных элементов из последовательности.

Take<TSource>(IQueryable<TSource>, Int32)

Исходный код:
Queryable.cs
Исходный код:
Queryable.cs
Исходный код:
Queryable.cs

Возвращает указанное число подряд идущих элементов с начала последовательности.

public static System.Linq.IQueryable<TSource> Take<TSource> (this System.Linq.IQueryable<TSource> source, int count);

Параметры типа

TSource

Тип элементов source.

Параметры

source
IQueryable<TSource>

Последовательность, из которой требуется возвратить элементы.

count
Int32

Число возвращаемых элементов.

Возвращаемое значение

IQueryable<TSource>

Объект IQueryable<T>, содержащий заданное число элементов с начала последовательности source.

Исключения

source имеет значение null.

Примеры

В следующем примере кода показано, как использовать Take<TSource>(IQueryable<TSource>, Int32) для возврата элементов из начала последовательности.

int[] grades = { 59, 82, 70, 56, 92, 98, 85 };

// Sort the grades in descending order and take the first three.
IEnumerable<int> topThreeGrades =
    grades.AsQueryable().OrderByDescending(grade => grade).Take(3);

Console.WriteLine("The top three grades are:");
foreach (int grade in topThreeGrades)
    Console.WriteLine(grade);

/*
    This code produces the following output:

    The top three grades are:
    98
    92
    85
*/

Комментарии

Метод Take<TSource>(IQueryable<TSource>, Int32) создает объект , MethodCallExpression представляющий вызов Take<TSource>(IQueryable<TSource>, Int32) как сконструированный универсальный метод. Затем он передает MethodCallExpressionCreateQuery(Expression) в метод объекта , представленный IQueryProvider свойством Providersource параметра .

Поведение запроса, возникающее в результате выполнения дерева выражений, представляющего вызов Take<TSource>(IQueryable<TSource>, Int32) , зависит от реализации типа source параметра. Ожидаемое поведение заключается в том, что он принимает первые count элементы с начала source.

Применяется к

.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

Take<TSource>(IQueryable<TSource>, Range)

Исходный код:
Queryable.cs
Исходный код:
Queryable.cs
Исходный код:
Queryable.cs

Возвращает указанный диапазон смежных элементов из последовательности.

public static System.Linq.IQueryable<TSource> Take<TSource> (this System.Linq.IQueryable<TSource> source, Range range);

Параметры типа

TSource

Тип элементов source.

Параметры

source
IQueryable<TSource>

Последовательность, из которой требуется возвратить элементы.

range
Range

Диапазон возвращаемых элементов, который имеет начальный и конечный индексы с начала или конца.

Возвращаемое значение

IQueryable<TSource>

Объект IQueryable<T> , содержащий указанные range элементы из source последовательности.

Исключения

source имеет значение null.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET 6, 7, 8, 9