The difference in bytecode is this: csc IL_0043: ldloc.0 IL_0044: unbox EnumParseBug.IndentStyle IL_0049: ldind.i4 IL_004a: ldc.i4.2 --------------------------------------------------- mono IL_0046: ldloc.0 IL_0047: castclass EnumParseBug.IndentStyle IL_004c: ldc.i4.2