Array Slice in C#
Unfortunately the array objects in C# do not have functions to return parts of them and I think it is not efficient to use Linq extension functions (in these cases). That is the reason why I have created a convenient Slice extension function: public static class ArrayExtensions { //returns a part of the source array public static T[] Slice<T>(this T[] source, int start, int end) { int count = end - start + 1; T[] target = null; if (count > 0) { target = new T[count]; for (int i = start; i <= end; i++) target[i - start] = source[i]; } return target; } } Here is an example, that shows to you the usage of the generic Slice function: string[] linesSrc, lineTo; ... //return a sub-array of the first three elements of the linesSrc array lineTo = linesSrc.Slice<string>(0, 2); That's the good part of the extension functions: it is general and can be used for all type of arrays.