반응형
Enumerable.TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) 메서드
public static System.Collections.Generic.IEnumerable<TSource> TakeWhile<TSource> (this
System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
매개변수
source IEnumerable<TSource>
요소가 반환되는 시퀀스
predicate Func<TSource, Boolean>
각 소스 요소를 조건에 대해 테스트할 함수
반환
IEnumerable<TSource>
테스트를 통과한 요소들의 시퀀스를 반환한다.
예제 코드
string[] fruits = { "apple", "banana", "mango", "orange",
"passionfruit", "grape" };
IEnumerable<string> query =
fruits.TakeWhile(fruit => String.Compare("orange", fruit, true) != 0);
foreach (string fruit in query)
{
Console.WriteLine(fruit);
}
/*
This code produces the following output:
apple
banana
mango
*/
조건으로 설정한 함수가 참일때까지의 요소를 반환한다.
Enumerable.TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, Int32, Boolean>) 메서드
public static System.Collections.Generic.IEnumerable<TSource> TakeWhile<TSource> (this
System.Collections.Generic.IEnumerable<TSource> source, Func<TSource, int, bool> predicate);
매개변수
source IEnumerable<TSource>
요소가 반환되는 시퀀스
predicate Func<TSource, Int32, Boolean>
각 소스 요소를 조건에 대해 테스트할 함수이며, 두번째 매개 변수는 소스 요소의 인덱스를 나타낸다.
반환
IEnumerable<TSource>
테스트를 통과한 요소들의 시퀀스를 반환한다.
예제 코드
string[] fruits = { "apple", "passionfruit", "banana", "mango",
"orange", "blueberry", "grape", "strawberry" };
IEnumerable<string> query =
fruits.TakeWhile((fruit, index) => fruit.Length >= index);
foreach (string fruit in query)
{
Console.WriteLine(fruit);
}
/*
This code produces the following output:
apple
passionfruit
banana
mango
orange
blueberry
*/
출처
'프로그래밍 > C# LINQ' 카테고리의 다른 글
C# LINQ - Enumerable.Zip() (0) | 2024.03.05 |
---|---|
C# 표준 질의 연산자(Standard Query Operators) (1) | 2024.02.26 |
C# Linq - Enumerable.Take() (0) | 2024.02.26 |
C# Linq - Enumerable.Reverse() (0) | 2024.02.19 |
C# Linq - Enumerable.OfType() (1) | 2024.02.16 |
댓글