public static SCG.IEnumerable <T> SkipRange <T>(this SCG.IEnumerable <T> enumerable, int startIndex, int count) { #region Code Contracts // Argument is non-null Requires(enumerable != null, ArgumentMustBeNonNull); #endregion // ReSharper disable PossibleMultipleEnumeration return(enumerable.Take(startIndex).Concat(enumerable.Skip(startIndex + count))); // ReSharper enable PossibleMultipleEnumeration }
public static T[] InsertItems <T>(this SCG.IEnumerable <T> enumerable, int index, SCG.IEnumerable <T> items) => enumerable.Take(index).Concat(items).Concat(enumerable.Skip(index)).ToArray();
public static T[] InsertItem <T>(this SCG.IEnumerable <T> enumerable, int index, T item) => enumerable.Take(index).Append(item).Concat(enumerable.Skip(index)).ToArray();