¿Cómo comparar los valores enum e int?

enum MyEnum
{
    Invalid=0,
    Value1=1,
    Value1=2,
}

void main ()
{
    MyEnum e1 = MyEnum.Value1;
    int i1 = 2;

    // Is there any difference how to compare enumEration values with integers?
    if ( e1==(MyEnum)i1 )... // 1st

    if ( (int)e1==i1 )... // 2nd

n cada uno de los casos mencionados, tenemos la conversión de enum a int o int a enum.

¿Hay alguna diferencia en estas conversiones (rendimiento, cualquier otra)? ¿O son exactamente lo mismo?

Gracias

PD. En el ejemplo actual, lo comparo con el 'número mágico' pero en la aplicación real obtengo datos del campo entero de DB.

Respuestas a la pregunta(6)

Su respuesta a la pregunta