title: Array.Copy vs Skip and Take in c#
body: <p>I was browsing this question and some similar ones:</p>
  
  <p><a href="https://stackoverflow.com/questions/943635/c-arrays-getting-a-sub-array-from-an-existing-array">Getting a sub-array from an existing array</a></p>
  
  <p>Many places I read answers like this:</p>
  
  <p><a href="https://stackoverflow.com/questions/943635/c-arrays-getting-a-sub-array-from-an-existing-array/943644#943644">Getting a sub-array from an existing array</a></p>
  
  <p>What I am wondering is why Skip and Take are not constant time operations for arrays?</p>
  
  <p>In turn, if they were constant time operations, won't the Skip and Take method (without calling ToArray() at the end) have the same running time without the overhead of doing an Array.Copy, but also more space efficient?</p>