这个问题已经有了答案:
Associating enums with strings in C#
31个答案
我希望枚举返回字符串值。不是枚举描述,它们必须返回一个字符串值,而不是一个in t。下面的代码示例正是我所想的,但显然无法编译。
public enum TransactionType
{
CreditCard = "C",
DebitCard = "D",
CreditCardAuthenticationWithAuthorization = "CA",
DebitCardAuthenticationWithAuthorization = "DA"
}
有什么想法吗?
最佳答案
你不能,你能做的是创建一个静态类,它的“行为”有点像带字符串值的枚举:
public static class TransactionType
{
public const string CreditCard = "C";
...
}
您可以以同样的方式访问它们:
string creditCardValue = TransactionType.CreditCard;
另一个选择是使用
System.ComponentModel
名称空间中的DescriptionAttribute,但是您的枚举仍然有底层的数值,所以可能这并不完全是您所需要的。例子:
public enum TransactionType
{
[Description("C")]
CreditCard,
...
}