【发布时间】:2012-10-23 17:59:50
【问题描述】:
1) 子查询是查询中的查询,因此必须以 FROM 子句开始,以 SELECT 或 GROUP BY 子句结束。但我很困惑为什么我们不将那些只有 FROM 子句的嵌套语句也视为子查询(因此它们不以 SELECT 或 GROUP BY 结尾)。
from c_2 in collection_2 的行为与子查询的行为非常相似,因为它为每个 c_1 元素枚举整个 collection_2。由于它们的行为非常相似,为什么不将诸如 from c_2 in collection_2 之类的语句也视为子查询(您可以争辩说子查询返回结果,但同样的论点也可以用于 from c_2 in collection_2,因为它确实被转换为打电话给SelectMany)?
var query = from c_1 in collection_1
from c_2 in collection_2
select ...
谢谢
【问题讨论】:
-
当末尾只有一个
select子句时,您认为哪一部分是子查询? -
@Servy - 我们通常不会在此网站上回答家庭作业问题,而是提供有关如何找到答案的指导。
-
@Tejs - 不,这不是家庭作业。请详细说明为什么您认为这是一项家庭作业
-
@Jon Skeet:我从未暗示此代码包含子查询(即嵌套查询以 from 子句开头并以 select 子句结尾)
-
@user1483278:您当然暗示了这一点:“但我很困惑,为什么我们不将那些只有 FROM 子句的嵌套语句也视为子查询”。如果您针对一种情况提出问题,然后给出一些示例代码,那么肯定暗示该代码是您问题的示例。
标签: c# linq linq-to-objects