public static T[] SubArray<T>(this T[] array, int offset, int length)
{
T[] result = new T[length];
Array.Copy(array, offset, result, 0, length);
return result;
}
public static void Copy (Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length);