title: List operations complexity
body: <p>I have always thought that <code>List&lt;T&gt;</code> in <code>C#</code>is a classic linked list, but recently I read that it is actually backed by array internally.</p>
  
  <p>Does this mean that when we do insert to the start of the list it is O(n) operation because other elements needs to be moved one position further like in simple array? And every time we add a new item the new array with bigger capacity is created? Or it is some hybrid like <code>ArrayList</code> in <code>Java</code>?</p>
  
  <p>If anyone has some link with complexity for C# List operations it would be good.</p>