带有int的枚举表示为十六进制值

时间:2014-06-12 02:29:09

标签: c# enums

我有以下枚举

public enum GridType
{
    Walkable = 0xFF000000,
    UnWalkable = 0xFF00000,
    Walked = 0xFF00000,
    Start = 0xFF00000,
    Destination = 0xFF00000
}

int值表示argb颜色值。 (我知道它们是相同的值,以后我会把它放在真实的值中)

<小时/> 但编译器会抛出错误:

  

无法隐式转换类型&#39; uint&#39; to&#39; int&#39;。显式转换   存在(您是否错过演员?)

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:8)

您可以GridType使用uint

public enum GridType: uint
{
    Walkable = 0xFF000000,
    // etc
}

请参阅http://msdn.microsoft.com/en-us/library/vstudio/sbbt4032(v=vs.100).aspx

我认为你可以投,但根据评论,这不会奏效。