我有一个枚举,有两个值。但是,第二个值包含斜杠(值为application / xml)。这会导致显示许多语法值。是否不可能有像这样的成员的枚举?
如果是这种情况,解决方案是什么?
由于
答案 0 :(得分:5)
Enum值只能是整数类型(byte,sbyte,short,ushort,int,uint,long或ulong)。枚举名称只能是valid .NET identifiers =>没有/
可能。因此,无论你想做什么(你没有在你的问题中解释过)的解决方案都不是使用枚举。一种可能的替代方法是使用Dictionary<TKey, TValue>
。但是,如果不知道您的具体情况以及您想要实现的目标,再次提出一个确切的答案是很难的。
答案 1 :(得分:2)
您可以使用辅助类并将这些值声明为const字符串:
public static class MimeTypes
{
public const string ApplicationXml = "application/xml";
public const string AsfVideo = "video/wmv";
}
...
string xmlMime = MimeTypes.ApplicationXml;
答案 2 :(得分:1)
没有。您没有为枚举提供值,而是为这些值提供标识符。标识符必须遵循与其他任何地方的标识符相同的规则,即没有斜杠。
答案 3 :(得分:0)
枚举值必须是整数类型,但如果要将字符串映射到字符串,则可以使用Dictionary<string, string>
。见documentation。
答案 4 :(得分:-1)
如果它是一个字符串,则在引号前面放置一个@符号。这应该工作。
@"application/xml"