title: What happens when casting IEnumerable to ICollection
body: <p>Given a case such that:</p>
  
  <pre><code>var collection = myEnumerable as ICollection&lt;MyType&gt;;
  </code></pre>
  
  <p>What happens under the hood? <code>ICollection</code> has a count property. Does this casting enumerate the enumerable to get the count or does something more involved happen?</p>