111,125
社区成员
发帖
与我相关
我的任务
分享
if ((tt & type) == type)
private static State[] States(int state)
{
string name = ((State)state).ToString();
string[] names = name.Split(',');
var values = Enum.GetValues(typeof(State));
List<State> sts = new List<State>();
foreach (State item in values)
{
for (int i = 0; i < names.Length; i++)
{
if (names[i].Trim()==item.ToString())
{
sts.Add(item);
}
}
}
return sts.ToArray();
}
private static State[] States(int state)
{
string name = ((State)right).ToString();
string[] names = name.Split(',');
var values = Enum.GetValues(typeof(State));
List<State> sts = new List<State>();
foreach (State item in values)
{
for (int i = 0; i < names.Length; i++)
{
if (names[i].Trim()==item.ToString())
{
sts.Add(item);
}
}
}
return sts.ToArray();
}
[Flags]
enum State
{
add = 1,
edit = 2,
del = 4
}
/////////测试代码,请写到方法中执行////////////////
State tt = State.add | State.edit;
var arry = Enum.GetValues(typeof(State));
List<State> sts = new List<State>();
foreach (State type in arry)
{
if ((tt & type) == type)
sts.Add(type);
}
sts.ToArray();//这就是你要的数组了。
List<State> states = new List<State>();
Array arr = Enum.GetValues(typeof(State));
State temp;
for (int i = 0; i < arr.Length; i++)
{
temp = (State)arr.GetValue(i);
if ((stateVal & temp) == temp)
{
states.Add(temp);
}
}
for (int i = 0; i < states.Count; i++)
{
Console.WriteLine(states[i]);
}