【发布时间】:2015-03-20 07:18:07
【问题描述】:
如何在 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();
【问题讨论】:
-
旁注:无论您使用的是 LINQ-to-Object 还是 LINQ-to-SQL,实际答案可能会有所不同,因为并非每种类型的查询都可以转换为 SQL。
标签: c# loops conditional-statements