如何使用where语句将枚举转换为列表

Own*_*urD 0 c# asp.net asp.net-mvc

我需要从枚举中获取不等于1的值并将其显示在下拉列表中.我的意思是,我不想展示Done它的价值.

public enum Statement
{
    Done= 1,
    Waiting= 2,
    Rejected= 3
}
Run Code Online (Sandbox Code Playgroud)

Hab*_*bib 7

您可以使用与LINQ类似的Enum.GetValues:

List<string> list = Enum.GetValues(typeof(Statement))
                        .Cast<Statement>()
                        .Where(r=> (int) r != 1)
                        .Select(t=> t.ToString())
                        .ToList();
Run Code Online (Sandbox Code Playgroud)