수색…


소개

Take, Skip, TakeWhile 및 SkipWhile은 주어진 조건에 따라 입력 시퀀스의 섹션을 얻으므로 분할 연산자라고합니다. 이 연산자들에 대해 논의 해 보겠습니다.

방법 가져 오기

Take 메서드 시퀀스의 첫 번째 요소부터 시작하여 지정된 위치까지 요소를 가져옵니다. 테이크 오브 시그니처 :

Public static IEnumerable<TSource> Take<TSource>(this IEnumerable<TSource> source,int count);

예:

int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var TakeFirstFiveElement = numbers.Take(5);

산출:

결과는 1,5,8,4이며 9 가지 요소를 얻으려면 9입니다.

스킵 방법

시퀀스의 첫 번째 요소부터 시작하여 지정된 위치까지 요소를 건너 뜁니다.

건너 뛰기의 서명 :

Public static IEnumerable Skip(this IEnumerable source,int count);

int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.Take(5);

결과 : 결과는 3,6,7,2와 0으로 나타납니다.

TakeWhile () :

지정된 조건이 true가 될 때까지, 지정된 콜렉션의 요소를 돌려줍니다. 최초의 요소 자체가 조건을 채우지 않는 경우, 하늘의 콜렉션을 돌려줍니다.

TakeWhile의 서명 () :

Public static IEnumerable <TSource> TakeWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,bool>,predicate);

또 다른 과부하 서명 :

Public static IEnumerable <TSource> TakeWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,int,bool>,predicate);

예 I :

int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.TakeWhile(n => n < 9);

산출:

그것은 5 월 8 일과 15 일에 돌아올 것입니다.

예 II :

int[] numbers = { 1, 2, 3, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.TakeWhile((n,Index) => n < index);

산출:

1,2,3,4 요소를 반환합니다.

SkipWhile ()

요소가 조건을 만족하지 않을 때까지 조건을 기반으로 요소를 건너 뜁니다. 첫 번째 요소 자체가 조건을 만족하지 않으면 0 요소를 건너 뛴 다음 시퀀스의 모든 요소를 ​​반환합니다.

SkipWhile () 서명 :

Public static IEnumerable <TSource> SkipWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,bool>,predicate);

또 다른 과부하 서명 :

Public static IEnumerable <TSource> SkipWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,int,bool>,predicate);

예 I :

int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.SkipWhile(n => n < 9);

산출:

요소 9,3,6,7,2 및 0을 반환합니다.

예 II :

int[] numbers = { 4, 5, 8, 1, 9, 3, 6, 7, 2, 0 };
var indexed = numbers.SkipWhile((n, index) => n > index);

산출:

요소 1,9,3,6,7,2 및 0을 반환합니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow