假设我有
[Flags]
public enum MyEnum
{
ValueZero = 1,
ValueOne = 2,
ValueTwo = 4
}
public class MyClass
{
public string Property { get; set; }
public MyEnum EnumValue { get; set; }
}
我希望能够在不考虑它是标志枚举的情况下使用GroupBy
按List<MyClass>
枚举分组。
当我使用GroupBy
(问题末尾的示例)时,分组是使用这样的聚合枚举进行的
//Grouping Values
ValueZero | ValueOne : myClass1, myClass2
ValueOne | ValueTwo : myClass3, myClass4
我正在寻找以下内容(使用 GroupBy 方法,因为它比使用Where
3 次更高效)
//Grouping Values
ValueZero : myClass1, myClass2
ValueOne : myClass1, myClass2, myClass3, myClass4
ValueTwo : myClass4
我认为使用它会起作用:
var list = new List<MyClass>();
var groupedList = list.GroupBy(c => c.EnumValue);