У меня есть конструкция перечисления, как это:
public enum EnumDisplayStatus
{
None = 1,
Visible = 2,
Hidden = 3,
MarkedForDeletion = 4
}
В моей базе данных на перечисления ссылаются по значению. У меня вопрос, как я могу превратить числовое представление перечисления обратно в имя строки.
Например, учитывая 2
результат должен быть Visible
.
nameof(EnumDisplayStatus.Visible)
Надеюсь, это кому-нибудь поможетОтветы:
Вы можете преобразовать
int
обратно в член перечисления с помощью простого приведения, а затем вызватьToString()
:источник
enum Foo { A = 1, B= 1 }
?Если вам нужно получить строку
"Visible"
безEnumDisplayStatus
экземпляра, вы можете сделать это:источник
Попробуй это:
источник
Использовать этот:
источник
ты можешь просто разыграть это
ах .. кент победил меня в этом :)
источник
DB в C #
C # в БД
источник
РЕШЕНИЕ:
Кроме того, использование GetName лучше, чем явное приведение Enum .
[Код для производительности производительности]
[Пример результата]
источник
Самое быстрое решение времени компиляции с использованием
nameof
выражений .Возвращает литерал перечисления.
Замечания:
nameof
.источник
Нужно:
источник
"f"
спецификатора является нюансом, и может или не может быть то, что хочет вызывающий (это зависит от: что они хотят): docs.microsoft.com/en-us/dotnet/standard/base-types/…Для получения строкового значения [Имя]:
И для получения значения enum:
источник
я использовал этот код, приведенный ниже
источник
Просто приведите int к типу перечисления:
источник