Enumerable.Take 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
| Take<TSource>(IEnumerable<TSource>, Int32) |
시퀀스 시작 위치에서 지정된 수의 연속 요소를 반환합니다. |
| Take<TSource>(IEnumerable<TSource>, Range) |
시퀀스에서 지정된 연속 요소 범위를 반환합니다. |
Take<TSource>(IEnumerable<TSource>, Int32)
- Source:
- Take.cs
- Source:
- Take.cs
- Source:
- Take.cs
시퀀스 시작 위치에서 지정된 수의 연속 요소를 반환합니다.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<TSource> ^ Take(System::Collections::Generic::IEnumerable<TSource> ^ source, int count);
public static System.Collections.Generic.IEnumerable<TSource> Take<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, int count);
static member Take : seq<'Source> * int -> seq<'Source>
<Extension()>
Public Function Take(Of TSource) (source As IEnumerable(Of TSource), count As Integer) As IEnumerable(Of TSource)
형식 매개 변수
- TSource
source 요소의 형식입니다.
매개 변수
- source
- IEnumerable<TSource>
요소가 반환되는 시퀀스입니다.
- count
- Int32
반환할 요소 수입니다.
반환
입력 시퀀스의 시작 위치부터 지정된 수의 요소가 들어 있는 IEnumerable<T>입니다.
예외
source이(가) null인 경우
예제
다음 코드 예제에서는 를 사용하여 Take 시퀀스의 시작부터 요소를 반환하는 방법을 보여 줍니다.
int[] grades = { 59, 82, 70, 56, 92, 98, 85 };
IEnumerable<int> topThreeGrades =
grades.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
*/
' Create an array of Integer values that represent grades.
Dim grades() As Integer = {59, 82, 70, 56, 92, 98, 85}
' Get the highest three grades by first sorting
' them in descending order and then taking the
' first three values.
Dim topThreeGrades As IEnumerable(Of Integer) =
grades _
.OrderByDescending(Function(grade) grade) _
.Take(3)
' Display the results.
Dim output As New System.Text.StringBuilder("The top three grades are:" & vbCrLf)
For Each grade As Integer In topThreeGrades
output.AppendLine(grade)
Next
Console.WriteLine(output.ToString())
' This code produces the following output:
'
' The top three grades are:
' 98
' 92
' 85
설명
이 메서드는 지연 된 실행을 사용 하 여 구현 됩니다. 즉시 반환 값은 작업을 수행 하는 데 필요한 모든 정보를 저장 하는 개체입니다. 이 메서드가 나타내는 쿼리는 개체를 직접 호출 GetEnumerator 하거나 C# 또는 For Each Visual Basic에서 를 사용하여 foreach 개체를 열거할 때까지 실행되지 않습니다.
Take요소가 생성되거나 source 더 이상 요소가 포함되지 않을 때까지 count 요소를 열거 source 하고 생성합니다. 의 요소 source수를 초과하면 count 의 source 모든 요소가 반환됩니다.
가 0 source 보다 작거나 같으면 count 가 열거되지 않고 빈 IEnumerable<T> 가 반환됩니다.
및 Skip 메서드는 Take 기능 보완입니다. 컬렉션 시퀀스와 coll 정 n수 가 지정되면 의 결과를 coll.Take(n) 연결하고 와 coll.Skip(n) 동일한 시퀀스를 coll생성합니다.
Visual Basic 쿼리 식 구문에서 절은 Take 의 호출 Take로 변환됩니다.
추가 정보
적용 대상
Take<TSource>(IEnumerable<TSource>, Range)
- Source:
- Take.cs
- Source:
- Take.cs
- Source:
- Take.cs
시퀀스에서 지정된 연속 요소 범위를 반환합니다.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<TSource> ^ Take(System::Collections::Generic::IEnumerable<TSource> ^ source, Range range);
public static System.Collections.Generic.IEnumerable<TSource> Take<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Range range);
static member Take : seq<'Source> * Range -> seq<'Source>
<Extension()>
Public Function Take(Of TSource) (source As IEnumerable(Of TSource), range As Range) As IEnumerable(Of TSource)
형식 매개 변수
- TSource
source 요소의 형식입니다.
매개 변수
- source
- IEnumerable<TSource>
요소가 반환되는 시퀀스입니다.
- range
- Range
시퀀스의 시작 또는 끝에서 시작 및 끝 인덱스가 있는 반환할 요소의 범위입니다.
반환
IEnumerable<T> 시퀀스에서 지정된 요소 범위를 포함하는 입니다source.
예외
source은 null입니다.
설명
이 메서드는 지연 된 실행을 사용 하 여 구현 됩니다. 즉시 반환 값은 작업을 수행 하는 데 필요한 모든 정보를 저장 하는 개체입니다. 이 메서드가 나타내는 쿼리는 개체를 직접 호출 GetEnumerator 하거나 C# 또는 For Each Visual Basic에서 를 사용하여 foreach 개체를 열거할 때까지 실행되지 않습니다.
Take인덱스가 지정된 range에 source 속하는 요소를 열거하고 생성합니다.