How to take all but the last element in a sequence using LINQ?

前端 未结 22 1611
南笙
南笙 2020-11-30 02:51

Let\'s say I have a sequence.

IEnumerable sequence = GetSequenceFromExpensiveSource();
// sequence now contains: 0,1,2,3,...,999999,1000000
         


        
22条回答
  •  悲&欢浪女
    2020-11-30 03:26

        public static IEnumerable NoLast (this IEnumerable items) {
            if (items != null) {
                var e = items.GetEnumerator();
                if (e.MoveNext ()) {
                    T head = e.Current;
                    while (e.MoveNext ()) {
                        yield return head; ;
                        head = e.Current;
                    }
                }
            }
        }
    

提交回复
热议问题