title: How do I clone a range of array elements to a new array?
body: <p>I have an array X of 10 elements. I would like to create a new array containing all the elements from X that begin at index 3 and ends in index 7. Sure I can easily write a loop that will do it for me but I would like to keep my code as clean as possible. Is there a method in C# that can do it for me?</p>
  
  <p>Something like (pseudo code):</p>
  
  <pre><code>Array NewArray = oldArray.createNewArrayFromRange(int BeginIndex , int EndIndex)
  </code></pre>
  
  <p><strong><code>Array.Copy</code> doesn't fit my needs</strong>. I need the items in the new array to be clones. <code>Array.copy</code> is just a C-Style <code>memcpy</code> equivalent, it's not what I'm looking for.</p>