[英]How can I do a loop within a “boolean conditional statement”?
如何在C#中的条件语句中放置一个循环? 我在下面有一个例子,这可能有助于查询数据有两个原因:它会避免写出每个项目或在整个查询周围进行操作,如果我们假设查询是,则会避免访问列表中每个项目的数据库查询数据库,我们希望避免添加到数据库的命中。 那么如何在条件语句中循环,如if语句或查询语句。 我的观点是,在像Ruby这样的动态语言中它会很容易,但在C#或大多数静态语言中都没有简单的方法。 如果我遗漏任何东西,请告诉我。 谢谢。
List<string> certainTerritorysManagers = GetTerritoryManagers(east);
var AllSales= GetAllSales();
var EastTerritorySales = (from sale in AllSales
where sale.manager == manager1 || sale.manager == manager2 || ... etc.
// *** Is there a way I can stick a foreach loop in the line above so I don't have to list all of these managers?
// *** Pseudo code might look like: where sale.manager == ANYOF foreach (string manager in aCertainTerritoriesManagers)
// *** If it was all && statements intead of || statements you could use the term ALLOF
select sale).ToList();
我想你正在寻找Contains
:
var EastTerritorySales =
(from sale in AllSales
where certainTerritoryManagers.Contains(sale.manager)
select sale).ToList();
你可以这样做:
var eastTerritorySales =
(from sale in AllSales
where certainTerritorysManagers.Contains(sale.manager)
select sale).ToList();
鉴于某些域名管理器是字符串列表, sale.manager需要是一个字符串。 因此,如果经理是另一个具有属性的类,您将需要执行以下操作:
where certainTerritorysManagers.Contains(sale.manager.Name)
我希望它有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.