title: Why does casting int to invalid enum value NOT throw exception?
body: <p>If I have an enum like so:</p>
  
  <pre><code>enum Beer
  {
      Bud = 10,
      Stella = 20,
      Unknown
  }
  </code></pre>
  
  <p>Why does it not throw an exception when casting an <code>int</code> that is outside of these values to a type of <code>Beer</code>?</p>
  
  <p>For example the following code doesn't throw an exception, it outputs '50' to the console:</p>
  
  <pre><code>int i = 50;
  var b = (Beer) i;
  
  Console.WriteLine(b.ToString());
  </code></pre>
  
  <p>I find this strange...can anyone clarify?</p>