Eu tenho uma construção enum como esta:
public enum EnumDisplayStatus
{
None = 1,
Visible = 2,
Hidden = 3,
MarkedForDeletion = 4
}
No meu banco de dados, as enumerações são referenciadas por valor. Minha pergunta é: como posso voltar a representação numérica do enum para o nome da string.
Por exemplo, dado 2
o resultado deve ser Visible
.
nameof(EnumDisplayStatus.Visible)
Espero que ajude alguémRespostas:
Você pode converter as
int
costas para um membro de enumeração com uma conversão simples e, em seguida, chamarToString()
:fonte
enum Foo { A = 1, B= 1 }
?Se você precisar obter uma string
"Visible"
sem obterEnumDisplayStatus
instância, poderá fazer o seguinte:fonte
Tente o seguinte:
fonte
Usa isto:
fonte
você pode simplesmente lançar
ah .. ken me venceu :)
fonte
DB para C #
C # para DB
fonte
SOLUÇÃO:
Além disso, o uso de GetName é melhor que a conversão explícita do Enum .
[Código de referência de desempenho]
[Resultado da amostra]
fonte
A solução de tempo de compilação mais rápida usando
nameof
expressão .Retorna o literal da enumeração.
Nota:
nameof
.fonte
Só precisa:
fonte
"f"
especificador é diferenciada e pode ou não ser o que o chamador deseja (depende do que ele deseja): docs.microsoft.com/en-us/dotnet/standard/base-types/…Para obter o valor [String] da String:
E para obter o valor da enumeração:
fonte
eu usei esse código dado abaixo
fonte
Basta converter o int para o tipo de enumeração:
fonte