110,534
社区成员
发帖
与我相关
我的任务
分享
[Flags]
public enum XX : int
{
a = 1,
b = 2,
c = 4
}
XX t = XX.a | XX.b;
int intValue = (int)t; //3
string strValue = t.ToString(); //a, b
string intArray = Func(?); //这里希望的返回值是 1, 2
var et = typeof(XX);
var arr = strValue.Split(',');
var tmp = new int[arr.Length];
for (int i = 0, j = arr.Length; i < j; i++)
{
tmp[i] = (int)Enum.Parse(et, arr[i]);
}
var val = string.Join(",", tmp);
int i=0;
int intValue=3;
while(Math.Pow(2,i)<=intValue)
{
if ((intValue &(int) Math.Pow(2, i)) != 0)
{
Console.WriteLine(Math.Pow(2, i));
}
i++;
}