If the number of spliced elements is greater than the number of elements in the list, then GetRange () throws an exception. The best decision:
public static class ListExtension
{
public static List<T> Splice<T>(this List<T> source, int start, int size)
{
var items = source.Skip(start).Take(size).ToList<T>();
if (source.Count >= size)
source.RemoveRange(start, size);
else
source.Clear();
return items;
}
}
source
share