是否可以使用包含斜杠值的枚举?

时间:2011-03-26 18:43:43

标签: c# .net

我有一个枚举,有两个值。但是,第二个值包含斜杠(值为application / xml)。这会导致显示许多语法值。是否不可能有像这样的成员的枚举?

如果是这种情况,解决方案是什么?

由于

5 个答案:

答案 0 :(得分:5)

Enum值只能是整数类型(byte,sbyte,short,ushort,int,uint,long或ulong)。枚举名称只能是valid .NET identifiers =&gt;没有/可能。因此,无论你想做什么(你没有在你的问题中解释过)的解决方案都不是使用枚举。一种可能的替代方法是使用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"