title: How is List.Clear() implemented in C#?
body: <p>I assume it uses an array to implement List. How is <code>List.Clear()</code> implemented?
  Does it actually clean up the array or just make a new array for this list?</p>
  
  <pre><code>public class List {
  
      private Array _array;
  
      public void Clear1 () {
          _array.length = 0;
      }
      public void Clear2 () {
          _array = new Array();
      }
  }
  </code></pre>