我需要通过列表中的项目设置Enum值。

我有枚举:

[Flags]
public enum EnumTest
{
    Val1= 1,

    Val2= 2,

    Val3= 4
}


列出值:

var values = new List<EnumTest> {EnumTest.Val1, EnumTest.Val3};


如何使用foreach获得以下结果?

var result = EnumTest.Val1 | EnumTest.Val3;


谢谢

最佳答案

这是使用Linq的解决方案:

var result = values.Aggregate((x, y) => x |= y);

关于c# - 将值从列表C#设置为[标记]枚举,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26300673/

10-11 12:24