0
public enum MyEnum
{
    A,
    Ab,
    Abc,
    Abcd,
    Abcde
}

使用 LINQ,我想从 MyEnum 中提取一个列表,该列表包含 MyEnum 的所有项目,但项目 Ab 和 Abc 除外。

4

3 回答 3

7
var doNotUse = new[] { MyEnum.Ab, MyEnum.Abc };
var enums = Enum.GetValues(typeof(MyEnum)).Cast<MyEnum>()
    .Where(me => !doNotUse.Contains(me))
    .ToList();
于 2013-09-19T20:39:39.510 回答
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
于 2013-09-19T20:34:44.707 回答
0

你不需要 linq :

    public void test()
    {
        List<MyEnum> list = new List<MyEnum>();

        foreach (MyEnum item in Enum.GetValues(typeof(MyEnum)))
        {
            list.Add(item);
        }
    }
于 2013-09-19T20:39:46.407 回答