这个问题已经有了答案:
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,
   ...
}

08-04 15:22