1
我试图根据用户选择什么来比较时选择不同类型的枚举值。比较时选择多个枚举值
这是我的代码:
public enum CategoryType { E1, E2, E3, E4 }
List1.Add(new model{ Line = "Line 1", Category = model.CategoryType.E3| model.CategoryType.E1});
List1.Add(new model{ Line = "Line 2", Category = model.CategoryType.E2 | model.CategoryType.E1});
List1.Add(new model{ Line = "Line 3", Category = model.CategoryType.E4 | model.CategoryType.E3});
var modelEnum = CategoryType.E1 | CategoryType.E3
var ValidLines = List1.Where(P => P.Category == modeEnum).ToList()
.Select(P => P.Line).ToList();
上面的代码不起作用。由于我在寻找E1或E3,它应该返回任何包含E1或E3的项目。在这种情况下,它应该返回全部3个项目,因为它们都包含E1或E3。
我在做什么错?
谢谢
如果我理解yoyr问题的话,我的建议是让你检查一个名为'.HasFlag()的方法' – 2013-10-20 03:47:51