■ IEnumerator<T> 인터페이스의 Current 속성/MoveNext 메소드를 사용해 마지막 값을 제외한 열거 가능형을 구하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#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 |