J'ai une construction enum comme celle-ci:
public enum EnumDisplayStatus
{
None = 1,
Visible = 2,
Hidden = 3,
MarkedForDeletion = 4
}
Dans ma base de données, les énumérations sont référencées par valeur. Ma question est, comment puis-je retourner la représentation numérique de l'énumération au nom de la chaîne.
Par exemple, étant donné 2
le résultat devrait être Visible
.
nameof(EnumDisplayStatus.Visible)
Espérons que cela aide quelqu'unRéponses:
Vous pouvez convertir le
int
dos en membre d'énumération avec un cast simple, puis appelerToString()
:la source
enum Foo { A = 1, B= 1 }
?Si vous avez besoin d'obtenir une chaîne
"Visible"
sans obtenir d'EnumDisplayStatus
instance, vous pouvez le faire:la source
Essaye ça:
la source
Utilisez ceci:
la source
vous pouvez simplement le lancer
ah .. kent m'a battu :)
la source
DB à C #
C # à DB
la source
SOLUTION:
En outre, l'utilisation de GetName est meilleure que la conversion explicite d'Enum .
[Code de référence de performance]
[Exemple de résultat]
la source
La solution de compilation la plus rapide utilisant
nameof
expression .Renvoie le littéral de l'énumération.
Remarque:
nameof
.la source
Juste besoin:
la source
"f"
spécificateur est nuancé, et peut être ou non ce que veut l'appelant (cela dépend de: ce qu'il veut): docs.microsoft.com/en-us/dotnet/standard/base-types/…Pour obtenir la valeur de chaîne [nom]:
Et pour obtenir la valeur enum:
la source
j'ai utilisé ce code ci-dessous
la source
Il suffit de convertir l'int entier en type d'énumération:
la source