/// <summary> /// Enables to skip items on next iteration or all items at once /// </summary> /// <typeparam name="T"></typeparam> /// <param name="source"></param> /// <returns></returns> public static IEnumerable <FlaggableElement <T> > ToFlaggable <T>(this IEnumerable <T> source) { var s = new FlaggableStream(); var a = source.ToArray(k => new FlaggableElement <T>(k, s)); return(from k in a where !k.SkipAtNextIteration where !k.Stream.SkipElements select k); }
public FlaggableElement(T Current, FlaggableStream Stream) { this.Current = Current; this.Stream = Stream; }