Como comparar 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

Em cada um dos casos mencionados, temos a conversão de enum para int ou int para enu

Existe alguma diferença nessas conversões (desempenho, qualquer outra)? Ou eles são exatamente iguais?

Obrigado

P.S. No exemplo atual, comparo com 'número mágico', mas em aplicativos reais estou obtendo dados do campo inteiro do DB.

questionAnswers(6)

yourAnswerToTheQuestion