枚举可以返回字符串而不是整数吗?
我希望我的枚举返回字符串值。 不是Enum Description,它们必须返回一个字符串值,而不是int。 下面的代码示例正是我的想法,但显然无法编译。
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, ... }
不,没有办法。 您可以选择int,long,byte,short – 通常是数字类型。
你可以做一些“作弊”,仅用于char
值(因为char
是implicity铸造到int):
上述就是C#学习教程:枚举可以返回字符串而不是整数吗?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
public enum MyEnum { Value = 'a' }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/943597.html