C# 使用linq根据多个可能值之一检查属性

C# 使用linq根据多个可能值之一检查属性,c#,entity-framework,linq,linq-to-sql,C#,Entity Framework,Linq,Linq To Sql,使用linq根据多个可能值之一检查属性。在这种情况下,状态是2还是3?在没有or运算符的情况下可以完成此操作吗 var x = (from b in books where b.statusCode.Contains(2, 3)) select new ... 您可以将值列表设置为列表,将其称为值列表,然后在where行: 其中ValueList.包含(b.statusCode) 这应该将statusCode与所有列表值进行比较,并返回匹配的记录,您可以从动

使用linq根据多个可能值之一检查属性。在这种情况下,状态是2还是3?在没有or运算符的情况下可以完成此操作吗

var x = (from b in books
         where b.statusCode.Contains(2, 3))
         select new ...

您可以将值列表设置为
列表
,将其称为
值列表
,然后在where行:

其中ValueList.包含(b.statusCode)


这应该将
statusCode
与所有列表值进行比较,并返回匹配的记录,您可以从动态列表中获益,动态列表可以使用不同的值重置,以返回其他状态代码的集合

您可以将值列表设置为
列表
,将其称为类似于
值列表
,然后在where行上:

其中ValueList.包含(b.statusCode)

这应该将
statusCode
与所有列表值进行比较,并返回匹配的记录,您可以从动态列表中获益,动态列表可以使用不同的值重置,以返回其他状态代码的集合

可以这样做(假设statusCode为int)

或者,您可以尝试这样内联:

    var x = (from b in books
     where (new int[] { 2, 3 }.Contains(b.statusCode)))
     select new ...
可以这样做(假设statusCode为int)

或者,您可以尝试这样内联:

    var x = (from b in books
     where (new int[] { 2, 3 }.Contains(b.statusCode)))
     select new ...

你的问题和你的例子毫无意义。也许这是因为您的示例中没有OR运算符,而您似乎误用了“contains”?如果要检查statusCode是2还是3,请将2和3放入列表中,然后检查该列表是否包含statusCode。您的问题和示例没有意义。也许这是因为您的示例中没有OR运算符,而您似乎误用了“contains”?如果要检查statusCode是2还是3,请将2和3放入列表中,并检查该列表是否包含statusCode。