关于c#枚举的问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 01:21:32
比如有枚举
public enum MyStyle : int
{
a,
b,
c,
d
}

有一个方法使用此枚举作为参数
public void SetStyle(MyStyle s)
{

}

调用的时候使用如下:
SetStyle(MyStyle.a | MyStyle.b);

请问怎么获取设置的多个枚举参数?

你可以把它们定在权位上,比如以2^n权a=1,b=4,c=8,c=16,d=32
这样我只要把或操作完后的结果分别和它们与就知道有没有设置了。
比如我int iSet=SetStyle(MyStyle.a | MyStyle.b|MyStyle.d);
bool bA,bB,bC,bD
bA=iSet&MyStyle.a
bB=iSet&MyStyle.b
bC=iSet&MyStyle.c
bD=iSet&MyStyle.d

在微机原理中经常用这个技巧