限制linq结果.NET的结果

Min*_*ame 0 .net c# linq

我正在使用linq从枚举列表中获取结果列表.现在我将返回完整列表.

执行以下操作:

       ViewData["listDT"] = from c in Enum.GetValues(typeof(ColumnDataType)).Cast<ColumnDataType>().ToList()
                                   select new SelectListItem { Value = c.ToString(), Text = c.ToString() };
Run Code Online (Sandbox Code Playgroud)

我的ColumnDateType枚举是:

public enum ColumnDataType
{
    String,
    Date,
    DateTime,
    Integer,
    Decimal,
    MultipleChoice,
    PictureBox,
    Attachment,
    Boolean,
    AutoNumber
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何使用我当前的Linq语句只返回String,DateTime,Decimal和Integer.

Cam*_*ron 6

如果您只想要这些指定的值,请尝试以下方法:

ViewData["listDT"] = from c in new[] 
                     { 
                      ColumnDataType.String,
                      ColumnDataType.DateTime, 
                      ColumnDataType.Decimal, 
                      ColumnDataType.Integer 
                     }
                     select new SelectListItem 
                     { 
                      Value = c.ToString(), 
                      Text = c.ToString() 
                     };
Run Code Online (Sandbox Code Playgroud)