【问题标题】:C# int to Flag Enum [duplicate]C# int to Flag Enum [重复]
【发布时间】:2011-10-07 18:01:09
【问题描述】:

可能重复:
C# int to enum conversion

是否有可能将 int 转换为标志组合枚举?所以,如果

[Flags]
public enum Foo {a = 0x80,
                 b = 0x40,
                 c = ...,
                 ...
                 h = 0x1,
                 i = 0};

是否可以(或以某种方式)这样做

Foo fooInstance = (Foo)6;

所以fooInstance 将是 00000110?

谢谢!

【问题讨论】:

  • 你尝试的时候发生了什么?
  • @VirtualBlackFox:标志部分是不同的方面。
  • @GertArnold FlagsAttribute AFAIK 仅用于 Enum.ToString 方法,无论编译器是否存在,编译器都不会发生任何变化。它的名称甚至在语言规范文档中都找不到。 value -> enum 被定义为 value -> enum_underlaying_type,没有任何例外。因此,虽然 OP 不知道它的问题是重复的,但确实如此。

标签: c# enums bitflags


【解决方案1】:

是的。

效果很好。标志属性与否。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 2020-05-18
    • 2010-10-04
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    相关资源
    最近更新 更多