public enum MyEnum
{
A,
Ab,
Abc,
Abcd,
Abcde
}
使用LINQ,我想从MyEnum中提取一个列表,其中包含MyEnum的所有项目,但Ab和Abc除外。
答案 0 :(得分:7)
var doNotUse = new[] { MyEnum.Ab, MyEnum.Abc };
var enums = Enum.GetValues(typeof(MyEnum)).Cast<MyEnum>()
.Where(me => !doNotUse.Contains(me))
.ToList();
答案 1 :(得分:1)
var list = Enum.GetNames(typeof(MyEnum))
.Where(r=> r != "Abc" && r != "Ab")
.ToList();
输出:
foreach(var item in list)
Console.WriteLine(item);
输出:
A
Abcd
Abcde
答案 2 :(得分:0)
你不需要linq:
public void test()
{
List<MyEnum> list = new List<MyEnum>();
foreach (MyEnum item in Enum.GetValues(typeof(MyEnum)))
{
list.Add(item);
}
}