title: Why does the underlying implementation of the queue in .NET use an array?
body: <p>I'm currently reading C# In a Nutshell, and the book mentions that the underlying implementation of the Queue data structure uses an array that is resized as needed. There will of course be a cost to this resizing, so I'm wondering what the rationale behind using this over say a double linked list is? Given that we only care about the first and last element and that a double linked list resizes more efficiently than an array, why use the array? An array would take up less memory, but is that the only rationale?</p>
  
  <p>EDIT:
  Sorry, just realized this is almost an exact duplicate of this:
  <a href="https://stackoverflow.com/questions/3000410/why-are-stackt-and-queuet-implemented-with-an-array?rq=1">Why are Stack&lt;T&gt; and Queue&lt;T&gt; implemented with an array?</a>
  (Their question even came from the same book). Thanks for all your answers anyways!</p>