2

我有一组枚举

public enum enums
{
    enum1,
    enum2,
    enum3,
    enum4,
    enum5
}

在另一个类中,我想要两个对象:

var object1 = new enums();//Here I want an enum of enum1,enum2
var object2 = new enums();//Here I want an enum of enum3,enum4,enum5

有没有人知道我该怎么做?

4

1 回答 1

7

使用Flags属性,您可以分配更多的值:

[Flags]
public enum enums
{
    enum1 = 1,
    enum2 = 2,
    enum3 = 4,
    enum4 = 8,
    enum5 = 16
}

这是解释如何使用它的好帖子:https ://stackoverflow.com/a/8480/2043144

更多编辑:

那么你的代码应该是这样的:

enums object1 = enums.enum1 | enums.enum2;
enums object2 = enums.enum3 | enums.enum4 | enums.enum5;

检查您是否object1包含给定标志:

if ((object1 & enums.enum1) == enums.enum1) 
{
    //object1 contains enums.enum1 flag
}
于 2013-05-24T08:26:21.500 回答