title: How to get a sub-array from an existing array in C# without copying?
body: <p>My question is similar to <a href="https://stackoverflow.com/questions/943635/c-sharp-arrays-getting-a-sub-array-from-an-existing-array">Getting a sub-array from an existing array</a> although a little different notion is very important in my case - I can't use memory copying.</p>
  
  <p>Let's say I have array <code>X</code> of 10000 elements, I need array <code>Y</code> that would contains 9000 elements from <code>X</code>, starting from <code>X</code>'s index 500. </p>
  
  <p>But I don't want to copy part of <code>X</code> to new array <code>Y</code>, so I don't want to use Array.Copy, Array.Clone, System.Block.Copy, IEnumerables etc. I want <code>Y</code> to be reference to <code>X - Y[0]</code> would be in fact <code>X[500]</code>, <code>Y[1]</code> corresponds to <code>X[501]</code>, ..., <code>Y[9000]</code> is <code>X[9500]</code>. </p>
  
  <p>Thus, for example changing value of <code>X[100]</code> would at the same time change value of <code>Y[600]</code>. How can I achieve this in C#?</p>