¿Por qué enviar int a un valor de enumeración no válido NO arroja una excepción?

Si tengo una enumeración como esta:

enum Beer
{
    Bud = 10,
    Stella = 20,
    Unknown
}

Por qué no arroja una excepción al lanzar unint que está fuera de estos valores a un tipo deBeer?

Por ejemplo, el siguiente código no arroja una excepción, emite '50' a la consola:

int i = 50;
var b = (Beer) i;

Console.WriteLine(b.ToString());

Me parece extraño ... ¿Alguien puede aclarar?

Respuestas a la pregunta(4)

Su respuesta a la pregunta