This question already has answers here:
How to iterate over values of an Enum having flags?
(17 个回答)
7年前关闭。
我正在尝试从 Type enum 变量中获取所有 enum 值:
有没有更好的方法来做到这一点?
获得预期结果的另一种方式。
(17 个回答)
7年前关闭。
我正在尝试从 Type enum 变量中获取所有 enum 值:
[Flags]
enum Type
{
XML = 1,
HTML = 2,
JSON = 4,
CVS = 8
}
static void Main(string[] args)
{
Type type = Type.JSON | Type.XML;
List<Type> types = new List<Type>();
foreach (string elem in type.ToString().Split(',') )
types.Add( (Type)Enum.Parse( typeof(Type), elem.Trim() ) );
}
有没有更好的方法来做到这一点?
最佳答案
List<Type> types = Enum
.GetValues(typeof(Type))
.Cast<Type>()
.Where(val => (val & type) == val)
.ToList();
获得预期结果的另一种方式。
关于c# - 从组合枚举值中获取所有枚举常量的更好方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20116771/
10-16 19:34