Если все это зависит от данных, я предлагаю вам просто вернуть некоторое другое отображаемое значение из базы данных вместе с этой строкой идентификатора
Таблица AcceptedSections
Name = "Section1"
DisplayName = "Section 1"
Тогда вы можете просто вернуть DisplayName
Если это не так, вам придется обрабатывать это так, как вы делаете сейчас, или вы можете создать перечисление с атрибутом для отображения:
public enum AcceptedSections
{
[Description("Default Section")]
Default,
[Description("Section 1")]
Section1,
[Description("Section 2")]
Section2,
[Description("Section 3")]
Section3,
[Description("Section 4")]
Section4
}
// writing this made me kind woozy... what a terrible enum
, который позволит вам написать что-то вроде этого:
foreach (AcceptedSections section in AcceptedSections.GetValues())
{
Console.WriteLine(section.GetDescription());
}
где GetDescription()
- простой метод, который возвращает этот пользовательский атрибут в перечислении