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 2
el resultado debe ser Visible
.
nameof(EnumDisplayStatus.Visible)
Espero que ayude a alguienRespuestas:
Puede convertir la
int
parte 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 obtenerEnumDisplayStatus
instancia, 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
nameof
expresió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