C# 选择一个对象中属性位于列表中的项目<;字符串>;

C# 选择一个对象中属性位于列表中的项目<;字符串>;,c#,linq,extension-methods,C#,Linq,Extension Methods,ASP.NET,C# 我在做这样的事情。只是需要以某种方式完成它 var c = (from c in courseObject where c.Status.Contains(selectedListItems) select c); 给出这些条件: courseObject=c,具有c.名称、c.状态、c.描述等属性 selectedListItems是包含“活动、非活动、禁用”的列表,例如,您真的很接近了。您需要这样做: var c = (from c in cours

ASP.NET,C#

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

var c = (from c in courseObject where 
    c.Status.Contains(selectedListItems) select c);
给出这些条件

courseObject=c,具有c.名称、c.状态、c.描述等属性


selectedListItems是包含“活动、非活动、禁用”的列表,例如,您真的很接近了。您需要这样做:

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

有几种方法可以实现我认为您正在尝试的目标

您可以还原
.Contains()
并使其看起来像这样:

var c = (from c in courseObject where
selectedListItems.Contains(c.Status) select c);
var c = (from c in courseObject where 
         c.Status == (int)yourEnum.Active || c.Status == (int)yourEnum.Inactive || c.Status == (int)yourEnum.Disabled
         select c);
或者您可以使用
enum
来代替包含您的状态的列表

然后,您的查询可能如下所示:

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

很好的例子,我可能可以在其他地方使用。谢谢@汤姆-总是乐于助人。干杯