登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

学无止境

一点积累,与大家分享

 
 
 

日志

 
 

如何:对分组操作执行子查询  

2009-12-08 12:21:37|  分类: C#技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

本主题演示执行以下任务的两种不同方式:创建一个查询,以便将源数据排序到不同的组中,然后分别对每个组执行子查询。每个示例中的基本技术都是使用一个名为 newGroup 的“延续”对源元素进行分组,然后生成一个针对 newGroup 的新的子查询。此子查询是针对外部查询所创建的每个新组运行的。请注意,在此特定示例中,最终的输出不是组,而是匿名类型的平面序列。

有关如何分组的更多信息,请参见group 子句(C# 参考)

有关延续的更多信息,请参见 into(C# 参考)。下面的示例使用内存中数据结构作为数据源,但相同的原理适用于任何种类的 LINQ 数据源。

如何:对分组操作执行子查询 - 秋的季节 - 秋的博客  示例
C#
private static void QueryMax()
{
var queryGroupMax =
from student in students
group student by student.Year into studentGroup
select new
{
Level = studentGroup.Key,
HighestScore =
(from student2 in studentGroup
select student2.ExamScores.Average()).Max()
};

int count = queryGroupMax.Count();
Console.WriteLine("Number of groups = {0}", count);

foreach (var item in queryGroupMax)
{
Console.WriteLine(" {0} Highest Score={1}", item.Level, item.HighestScore);
}
}
  评论这张
 
阅读(417)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018