Obtener un sub-array de un array existente


Tengo una matriz X de 10 elementos. Me gustaría crear una nueva matriz que contenga todos los elementos de X que comiencen en el índice 3 y terminen en el índice 7. Claro que puedo escribir fácilmente un bucle que lo hará por mí, pero me gustaría mantener mi código lo más limpio posible. ¿Hay algún método en C# que pueda hacerlo por mí?

Algo así como (pseudo código):

Array NewArray = oldArray.createNewArrayFromRange(int BeginIndex , int EndIndex)

Array.Copy no se ajusta a mis necesidades. Necesito que los elementos de la nueva matriz sean clones. Array.copy es solo un estilo C memcpy equivalente, no es lo que estoy buscando.


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52