¿Cuál es la mejor manera de convertir un entero en una enumeración?

Criterios: rendimiento, rendimiento, rendimiento.

Necesito una forma de convertir un uint, int, etc. en su equivalente enum. ¿Cuál es la forma más rápida de hacerlo usando C #?

0

1 Respuestas

¿Por qué no puedes hacer un lanzamiento directo?

MyEnum enumVar = (MyEnum)intVar;
0
agregado
¡Gracias! Wow, eso fue mucho más fácil que otras soluciones extrañas que vi por ahí.
agregado el autor danmine, fuente
Argg, iba a decir eso :)
agregado el autor leppie, fuente
El único problema con esto es que puede lanzar valores que no son válidos y no obtendrá una excepción. Enum.Parse() es mucho más seguro, pero implica gastos generales desde una perspectiva de rendimiento.
agregado el autor OJ., fuente
Lo sé. Eso me pasa a mi todo el tiempo. ;)
agregado el autor Charles Graham, fuente
Los mensajes hacia y desde ints son triviales. De hecho, estoy bastante seguro de que el compilador maneja el 99% de las optimizaciones de las que debería preocuparse. Ahora, cuando pasas de una cadena a otra, es donde se vuelve funky.
agregado el autor Charles Graham, fuente