是否可以在枚举中添加带空格或特殊字符的字符串

HII,

是否可以在枚举中添加带空格或特殊字符的字符串

例如,我有一个像“保险KR用户(名称)”这样的字符串,我试图将此字符串包含在枚举中

public enum MemberGroup { Insurance KR Users (Name) } 

但它捕捉错误。 请给我一个解决方案,将这些类型的字符串包含在枚举中。

枚举成员本身必须是有效的标识符 ,因此它不能包含空格或特殊字符。

但是您可以使用DescriptionAttribute来提供每个枚举值的更完整描述:

 public enum MemberGroup { [Description("Insurance KR Users (Name)")] InsuranceKrUsers_Name } 

要检索描述,请使用以下内容:

 public static string GetDescription(Enum value) { FieldInfo fi = value.GetType().GetField(value.ToString()); DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes( typeof(DescriptionAttribute), false); return (attributes.Length > 0) ? attributes[0].Description : value.ToString(); } 

枚举本身不能包含空格,正如彼得所说,它只能包含一组特定的字符。

您可以使用枚举的Description属性来存储一些额外的信息,但这必须使用reflection来检索。 互联网上有很多例子如何做,但作为一个例子, 这里有一个例子。