public IEnumerable <A> Skip(int amount) { var iter = new ListModule.ListEnumerator <A>(Root, Rev, amount); while (iter.MoveNext()) { yield return(iter.Current); } }
public IEnumerable <A> FindRange(int index, int count) { if (index < 0 || index >= Count) { throw new ArgumentOutOfRangeException(nameof(index)); } if (count < 0) { throw new ArgumentOutOfRangeException(nameof(index)); } var iter = new ListModule.ListEnumerator <A>(Root, Rev, index, count); while (iter.MoveNext()) { yield return(iter.Current); } }