title: C# collections optimised for index 0 insert?
body: <p><em>What C# collections are best optimised for both zero-index insert and append to end?</em></p>
  
  <p>I guess the easy one is <code>LinkedList</code>, but given my interest is in large byte-buffers, I suspect the memory cost per node may be prohibitively expensive for my needs. </p>
  
  <p>My understanding is that a normal <code>List</code> has a buffer backing with a capacity usually larger than the actual data. When the data fills the buffer, a new buffer is created and the contents of the old are transferred to the new. That's great for appending to end, but horrible for growth on the beginning. My tests, appending/inserting a million random integers to a <code>List</code>: </p>
  
  <ul>
  <li>List Append time 0.014sec.</li>
  <li>List Zero-Insert time 173.343sec</li>
  </ul>