[C#/COMMON/.NET6] IEnumerator<T> 인터페이스 : Current 속성/MoveNext 메소드를 사용해 마지막 값을 제외한 열거 가능형 구하기
C#/Common 2022. 6. 20. 17:06728x90
반응형
728x170
#region 마지막 값을 제외한 열거 가능형 구하기 - SkipLast<TElement>(sourceEnumerable)
/// <summary>
/// 마지막 값을 제외한 열거 가능형 구하기
/// </summary>
/// <typeparam name="TElement">요소 타입</typeparam>
/// <param name="sourceEnumerable">소스 열거 가능형</param>
/// <returns>마지막 값을 제외한 열거 가능형</returns>
public IEnumerable<TElement> SkipLast<TElement>(IEnumerable<TElement> sourceEnumerable)
{
IEnumerator<TElement> sourceEnumerator = sourceEnumerable.GetEnumerator();
bool hasRemainingItems = false;
bool isFirst = true;
TElement item = default(TElement);
do
{
hasRemainingItems = sourceEnumerator.MoveNext();
if(hasRemainingItems)
{
if(!isFirst)
{
yield return item;
}
item = sourceEnumerator.Current;
isFirst = false;
}
}
while(hasRemainingItems);
}
#endregion
728x90
반응형
그리드형(광고전용)
댓글을 달아 주세요