我有一个包含标志(flags)的枚举。我想声明一个变量,其中包含n
个不同的标志。在这种情况下,n > 1
。
public enum BiomeType {
Warm = 1,
Hot = 2,
Cold = 4,
Intermediate = 8,
Dry = 16,
Moist = 32,
Wet = 64,
}
好的 - 一种方法是将每个标志转换为字节,然后将结果转换为我的枚举类型。
BiomeType bType = (BiomeType)((byte)BiomeType.Hot + (byte)BiomeType.Dry)
但这样做有点凌乱 - 我的看法。 有没有更易读的方法来组合标志?
[Flags]
属性还将为您提供更好的BiomeType.ToString()
表示(即Hot,Dry
而不是BiomeType.Hot | BiomeType.Dry
的18
)。 - Marcus Mangelsdorf