Tengo una construcción de enumeración como esta:
public enum EnumDisplayStatus
{
None = 1,
Visible = 2,
Hidden = 3,
MarkedForDeletion = 4
}
En mi base de datos, las enumeraciones están referenciadas por valor. Mi pregunta es, ¿cómo puedo convertir la representación numérica de la enumeración en el nombre de la cadena.
Por ejemplo, dado 2el resultado debe ser Visible.

nameof(EnumDisplayStatus.Visible)Espero que ayude a alguienRespuestas:
Puede convertir la
intparte de atrás a un miembro de enumeración con un elenco simple y luego llamar aToString():fuente
enum Foo { A = 1, B= 1 }?Si necesita obtener una cadena
"Visible"sin obtenerEnumDisplayStatusinstancia, puede hacer esto:fuente
Prueba esto:
fuente
Utilizar este:
fuente
puedes lanzarlo
ah .. kent me ganó :)
fuente
DB a C #
C # a DB
fuente
SOLUCIÓN:
Además, usar GetName es mejor que la conversión explícita de Enum .
[Código de referencia de rendimiento]
[Resultado de la muestra]
fuente
La solución de tiempo de compilación más rápida usando
nameofexpresión .Devuelve el literal de la enumeración.
Nota:
nameof.fuente
Solo necesito:
fuente
"f"especificador está matizada, y puede o no ser lo que quiere la persona que llama (depende de: lo que quiera): docs.microsoft.com/en-us/dotnet/standard/base-types/…Para obtener el valor de cadena [Nombre]:
Y para obtener el valor enum:
fuente
He usado este código dado a continuación
fuente
Simplemente envíe el int al tipo de enumeración:
fuente