title: .NET - How is explicit cast with "as" different (internally) from (someType)someobject, and why?
body: <p>I understand that when you use an explicit cast like this:</p>
  
  <pre><code>(someType)someobject
  </code></pre>
  
  <p>you can get an invalid cast exception if <code>someobject</code> is not really <code>someType</code>.</p>
  
  <p>As well I understand that when you cast with <code>as</code> like this:</p>
  
  <pre><code>myObject = someObject as someType
  </code></pre>
  
  <p><code>myObject</code> is just rendered <code>null</code> if <code>someObject</code> isn't really <code>someType</code>.</p>
  
  <p>How are these evaluated differently and why?</p>