질문에 대한 답변을 찾고 있는데 Get next N elements from enumerable은 내 자신을 만족스럽고 양조하지 못했습니다. 내가 생각 해낸 것은 정말 생각처럼 작업이 t=>t
의 기본을 가지고하는 것입니다 것입니다 무엇기본 인수로 람다
IEnumerable<T> Chunk<T, R>(IEnumerable<R> src, int n, Func<IEnumerable<R>, T> action){
IEnumerable<R> head;
IEnumerable<R> tail = src;
while (tail.Any())
{
head = tail.Take(n);
tail = tail.Skip(n);
yield return action(head);
}
}
했다, 그러나 나는 기본 인수 있는지 확인하는 방법을 알아낼 수 없습니다. IEnumerable<T> Chunk<T, R>(IEnumerable<R> src, int n, Func<IEnumerable<R>, T> action = t=>t)
시그니처에 구문 오류가 발생합니다.
내 질문은, 어떻게합니까?
나는이 Specifying a lambda function as default argument 동일하지만 C# 대신 보조 노트로
C++
의, 나는 그것이 어떤 구문 차이를하지 않습니다 알고 가정,하지만 난T
및
R
을 전환 한 경우는 쉽게 읽을 수있을 것입니다 ?
사이드 노트 : 예, 적어도 전환하고 TSource 및 TResult로 이름을 바꿀 수 있습니다. (기본 LINQ 방법과 일치 할 것 같아요.) – Rawling