다음을 통해 공유


데이터 분할(Visual Basic)

LINQ에서 분할은 요소를 다시 정렬하지 않고 입력 시퀀스를 두 섹션으로 나눈 다음 섹션 중 하나를 반환하는 작업을 의미합니다.

다음 그림에서는 문자 시퀀스에 대한 세 가지 분할 작업의 결과를 보여 줍니다. 첫 번째 작업은 시퀀스의 처음 세 요소를 반환합니다. 두 번째 작업은 처음 세 요소를 건너뛰고 나머지 요소를 반환합니다. 세 번째 연산은 시퀀스의 처음 두 요소를 건너뛰고 다음 세 개의 요소를 반환합니다.

세 가지 LINQ 분할 작업을 보여 주는 그림.

다음 섹션에는 시퀀스를 파티션하는 표준 쿼리 연산자 메서드가 나열되어 있습니다.

운영자

연산자 이름 설명 Visual Basic 쿼리 식 구문 더 많은 정보
건너뛰기 시퀀스에서 지정된 위치까지 요소를 건너뜁니다. Skip Enumerable.Skip

Queryable.Skip
조건을 만족할 때까지 건너뛰기 판정 함수에 의해 조건을 만족하지 않는 요소가 발생할 때까지 요소를 건너뜁니다. Skip While Enumerable.SkipWhile

Queryable.SkipWhile
잡다 시퀀스에서 지정된 위치까지 요소를 가져옵니다. Take Enumerable.Take

Queryable.Take
조건 충족 시 가져오기 요소가 조건을 충족하지 않을 때까지 조건자 함수를 기반으로 요소를 사용합니다. Take While Enumerable.TakeWhile

Queryable.TakeWhile
청크 시퀀스의 요소를 지정된 최대 크기의 청크로 분할합니다. Enumerable.Chunk
Queryable.Chunk

쿼리 식 구문 예제

건너뛰기

다음 코드 예제에서는 Visual Basic의 Skip 절을 사용하여 배열의 나머지 문자열을 반환하기 전에 문자열 배열의 처음 네 문자열을 건너뜁니다.


Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

Dim query = From word In words
            Skip 4

Dim sb As New System.Text.StringBuilder()
For Each str As String In query
    sb.AppendLine(str)
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' keeps
' the
' doctor
' away

조건을 만족할 때까지 건너뛰기

다음 코드 예제에서는 Visual Basic의 Skip While 절을 사용하여 배열의 문자열을 건너뛰고 문자열의 첫 문자는 "a"입니다. 배열의 나머지 문자열이 반환됩니다.


Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

Dim query = From word In words
            Skip While word.Substring(0, 1) = "a"

Dim sb As New System.Text.StringBuilder()
For Each str As String In query
    sb.AppendLine(str)
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' day
' keeps
' the
' doctor
' away

잡다

다음 코드 예제에서는 Visual Basic의 Take 절을 사용하여 문자열 배열의 처음 두 문자열을 반환합니다.


Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

Dim query = From word In words
            Take 2

Dim sb As New System.Text.StringBuilder()
For Each str As String In query
    sb.AppendLine(str)
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' an
' apple

조건 충족 시 가져오기

다음 코드 예제에서는 Visual Basic의 Take While 절을 사용하여 문자열 길이가 5 이하인 동안 배열에서 문자열을 반환합니다.


Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

Dim query = From word In words
            Take While word.Length < 6

Dim sb As New System.Text.StringBuilder()
For Each str As String In query
    sb.AppendLine(str)
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' an
' apple
' a
' day
' keeps
' the

참고하십시오