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