【问题标题】:Escaping a dot in c# [closed]在c#中转义一个点[关闭]
【发布时间】:2014-03-30 14:23:00
【问题描述】:

我正在尝试为UserAgents 定义一个enumerator

类似的,

private enum UserAgents
    {
        "MSIE 7.0",
        "MSIE 6.0",
        "MSIE 5.0",
    }

但是compiler is not happy with this

有什么想法吗?

编辑:我也尝试过使用逐字文字 @ 和 '\' 进行转义,但这不起作用。

【问题讨论】:

标签: c# .net enums escaping


【解决方案1】:

枚举不是这样工作的。

你需要这样的东西:

private enum UserAgents
{
    MSIE70,
    MSIE60,
    MSIE50
}

但是你必须担心从中获取字符串值,标志也不匹配字符串表示。你可以用DescriptionAttributes 来装饰它们,但是你仍然需要做所有的工作来拉出绳子。

最好的办法是为每个用户代理类型定义一个带有公共静态只读字段的静态类UserAgents

public static UserAgents
{
   public static readonly MSIE70 = "MSIE 7.0"; 
   //etc...
}

然后您可以通过UserAgents.MSIE70 访问该字段。

【讨论】:

    【解决方案2】:
    private enum UserAgents
    {
        MSIE70,
        MSIE60,
        MSIE50,
    }
    

    试试这个!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 2013-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多