我有一个带有[Flags]
属性的 enum,例如
[Flags]
public enum PhoneService
{
None = 0,
LandLine = 1,
Cell = 2,
Fax = 4,
Internet = 8,
All = LandLine | Cell | Fax | Internet
}
// Should print "LandLine, Cell, Fax, Internet"
Console.WriteLine(PhoneService.All);
如何获取组合标志All
中的所有底层值?
2条答案
按热度按时间sdnqo3pr1#
如果您在
enum
中有 * bits * 的名称,您可以尝试如下操作:演示:
输出:
您可以将
NameToBits
实现为 * extension * 方法,例如:然后像这样使用它:
Fiddle
voase2hg2#
您可以编写一个实用程序方法来完成此操作:
你可以用它来打印如下的值: