在一个对象中选择属性在列表<string> </string>中的项目

时间:2011-12-20 17:26:26

标签: c# linq extension-methods

ASP.NET,C#

我正在做这样的事情。只需要以某种方式完成它。

var c = (from c in courseObject where 
    c.Status.Contains(selectedListItems) select c);

给出这些条件

courseObject = c并具有c.Name,c等属性。状态,c。描述

selectedListItems是包含“活动,非活动,已禁用”的列表,例如

2 个答案:

答案 0 :(得分:4)

你真的很亲近。你需要这样做:

    var c = (from c in courseObject where
    selectedListItems.Contains(c.Status) select c);

答案 1 :(得分:2)

有几种方法可以完成我认为你要做的事情。

您可以还原.Contains(),并使其如下所示:

var c = (from c in courseObject where
selectedListItems.Contains(c.Status) select c);

或者您可以使用enum代替包含您的状态的列表。

然后你的查询看起来像这样:

var c = (from c in courseObject where 
         c.Status == (int)yourEnum.Active || c.Status == (int)yourEnum.Inactive || c.Status == (int)yourEnum.Disabled
         select c);