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
참고하십시오
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET