Установите значение [Flags] Enum from list c #

Мне нужно установить значение Enum по элементам, взятым из списка.

У меня есть 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;

Спасибо


person Pavel    schedule 10.10.2014    source источник
comment
возможный дубликат Как мне перечислить перечисление в C #?   -  person Nikola    schedule 10.10.2014
comment
@Nikola Не дубликат этого. Здесь есть конкретный список, который нужно перебрать.   -  person    schedule 10.10.2014
comment
@Nikola Спасибо. stackoverflow.com/questions/105372/, этот ответ был полезен.   -  person Pavel    schedule 10.10.2014


Ответы (1)


Вот решение с использованием Linq:

var result = values.Aggregate((x, y) => x |= y);
person brz    schedule 10.10.2014