如何在 Linq 的 Where 条件中使用 IN 运算符

Posted

技术标签:

【中文标题】如何在 Linq 的 Where 条件中使用 IN 运算符【英文标题】:How to use IN Operator inside Where Condition in Linq 【发布时间】:2016-05-03 15:25:57 【问题描述】:

我需要关于如何在 linq 中使用 IN 运算符的帮助,

这是我的代码:

  achieved =grouped.Key.SMCode=="HETAL1"? 
 grouped.AsEnumerable().Where(x => (x.SalesManCode=="HETAL1"||x.SalesManCode=="BAIJU") &&
 x.OrderType == "Sales Invoice" && x.IsFromService==true).Sum(m => m.OrderValue):0

这里我需要 Salesmancode baijuhetal1 的值,但现在我只得到 hetal1 的值

我不知道,如何在 linq 中使用 IN 运算符

请帮我获取两个salesmancode的值

【问题讨论】:

【参考方案1】:

请尝试如下图。

 achieved =(grouped.Key.SMCode=="HETAL1" || grouped.Key.SMCode=="BAIJU") ? 
 grouped.AsEnumerable().Where(x => (x.SalesManCode=="HETAL1"||x.SalesManCode=="BAIJU") &&
 x.OrderType == "Sales Invoice" && x.IsFromService==true).Sum(m => m.OrderValue):0

【讨论】:

以上是关于如何在 Linq 的 Where 条件中使用 IN 运算符的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Linq 的 where 条件下从可为空的日期时间中删除时间部分

如何在 linq 查询 c# 中的 WHERE 语句后嵌入动态 OR 条件

如何使用 Linq where 条件检查字符串列表是不是包含任何字符串

LINQ的实例

SQL:如何在带有“NOT IN”条件的“Where”子句中使用“and”和“or”

在 C# linq 中结合多个具有可选参数的 where 条件?