title: In C# what's the resulting capacity of `new List<int>() {3,5};`?
body: <ol>
  <li>According to <a href="https://stackoverflow.com/questions/1762817/default-capacity-of-list">this question</a> the default capacity set to <code>new List&lt;int&gt;;</code> is <em>0</em> and after <code>Add(3);</code> it's <em>4</em>.</li>
  <li>The capacity set to <code>new List&lt;int&gt;(5);</code> should be <em>5</em> because the capacity is set via the parameter.</li>
  <li>However what's the capacity set to <code>new List&lt;int&gt;() {3,5};</code> ? <em>4</em> or <em>2</em> ?
  
  <ol>
  <li>It should be <strong>4</strong> if it behaves like in <em>1.</em> above: the two initialization values in <code>{3, 5}</code> are added with two consecutive <code>Add()</code> operations so that the capacity is still <em>4</em> because the two values did not overflow this capacity.  </li>
  <li>Or is it set to <strong>2</strong> by the Compiler because it recogizes the two values, <em>3</em> and <em>5</em> that are added to the List, counts them and sets this number as the capacity ?</li>
  </ol></li>
  </ol>
  
  <p>This question matters in regards to the garbage collector performance as desribed in <a href="https://michaelscodingspot.com/avoid-gc-pressure/" rel="nofollow noreferrer">this blog</a>.</p>