다음을 통해 공유


Queryable.Take 메서드

정의

오버로드

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

시퀀스 시작 위치에서 지정된 수의 연속 요소를 반환합니다.

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

시퀀스에서 지정된 연속 요소 범위를 반환합니다.

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

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

시퀀스 시작 위치에서 지정된 수의 연속 요소를 반환합니다.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Take(System::Linq::IQueryable<TSource> ^ source, int count);
public static System.Linq.IQueryable<TSource> Take<TSource> (this System.Linq.IQueryable<TSource> source, int count);
static member Take : System.Linq.IQueryable<'Source> * int -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Take(Of TSource) (source As IQueryable(Of TSource), count As Integer) As IQueryable(Of TSource)

형식 매개 변수

TSource

source 요소의 형식입니다.

매개 변수

source
IQueryable<TSource>

요소가 반환되는 시퀀스입니다.

count
Int32

반환할 요소 수입니다.

반환

IQueryable<TSource>

source 시작 위치에서 지정된 수의 요소가 들어 있는 IQueryable<T>입니다.

예외

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
*/
Dim grades() As Integer = {59, 82, 70, 56, 92, 98, 85}

' Sort the grades in descending order and take the first three.
Dim topThreeGrades = _
    grades.AsQueryable().OrderByDescending(Function(grade) grade).Take(3)

Dim output As New System.Text.StringBuilder
output.AppendLine("The top three grades are:")
For Each grade As Integer In topThreeGrades
    output.AppendLine(grade)
Next

' Display the output.
MsgBox(output.ToString())

' 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) 하는 을 생성합니다. 그런 다음 을 MethodCallExpression 매개 변수의 CreateQuery(Expression) 속성으로 나타내는 ProviderIQueryProvider 메서드에 source 전달합니다.

호출 Take<TSource>(IQueryable<TSource>, Int32) 을 나타내는 식 트리를 실행한 결과로 발생하는 쿼리 동작은 매개 변수 형식 source 의 구현에 따라 달라집니다. 예상되는 동작은 의 시작source부터 첫 번째 count 요소를 사용하는 것입니다.

적용 대상

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

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

시퀀스에서 지정된 연속 요소 범위를 반환합니다.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Take(System::Linq::IQueryable<TSource> ^ source, Range range);
public static System.Linq.IQueryable<TSource> Take<TSource> (this System.Linq.IQueryable<TSource> source, Range range);
static member Take : System.Linq.IQueryable<'Source> * Range -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Take(Of TSource) (source As IQueryable(Of TSource), range As Range) As IQueryable(Of TSource)

형식 매개 변수

TSource

source 요소의 형식입니다.

매개 변수

source
IQueryable<TSource>

요소가 반환되는 시퀀스입니다.

range
Range

반환할 요소의 범위이며 시작 또는 끝에서 시작 및 끝 인덱스가 있습니다.

반환

IQueryable<TSource>

IQueryable<T> 시퀀스의 지정된 range 요소를 포함하는 입니다source.

예외

sourcenull입니다.

적용 대상