Linq之group子句
在Linq查询语句中,group子句主要作用是对查询的结果集进行分组。并返回元素类型为IGrouping<TKey,TElement>的对象序列。
下面我们在代码实例中创建一个GroupQuery方法来演示group子句的用法。
1、创建数据类型为List<UserInfo>的数据源users。
2、使用group子句对结果集进行分组,根据用户名称的奇偶来分组。
3、使用嵌套的foreach语句输出。
private void GroupQuery()
{ List<UserBaseInfo> users = new List<UserBaseInfo>(); for(int i=;i<;i++)
{
users.Add(new UserBaseInfo(i,"users0"+i.ToString(),"user0"+i.ToString()+"@web.com"));
} //根据用户的username值进行分组
var results = from u in users
group u by Int32.Parse(u.UserName.Substring(u.UserName.Length - ))% == ; foreach (var v in results)
{
Response.Write("-----------------"+ "</br>");
foreach (UserBaseInfo u in v)
{
Response.Write(u.UserName+"</br>");
} }
}
因为查询结果values的结果为IEnumerable<IGroupint<bool,UserBaseInfo>>。因此输出查询结果信息需要使用2个foreach语句。第一个foreach语句得到IGrouping<bool,UserBaseInfo>类型的元素,第二个foreach语句得到UserBaseInfo类型的元素。
Linq之group子句的更多相关文章
- LINQ查询表达式---------group子句
LINQ查询表达式---------group子句 LINQ表达式必须以from子句开头,以select或group子句结束.使用guoup子句来返回元素分组后的结果.group 子句返回一个 IGr ...
- linq之into子句
在Linq表达式中,into子句可以创建一个临时标识符,使用该标识符可以存储group.join或select子句的结果. 下面实例中我们用GroupOtherQuery方法来演示group子句对结果 ...
- Linq之select子句
在Linq中select子句用来指定查询结果的类型和表现形式.Linq查询要么以select子句结尾,要么以group子句结尾. List<UserBaseInfo> users = ne ...
- Linq专题之Linq查询from子句
Linq查询表达式包含8个常用的子句:from.where.select.join.into.orderby.group.let.我们来看看详细的说明. from: 指定查询操作的 ...
- sql的 group by 分组;linq的 group by 分组
先来看看 linq的,下面的一段linq 是 ,在 学生导入数据的时候,我们根据学生的手机号码和学生名称进行分组,如果有重复的,我们就筛选出来,用到了 linq的 group by,注意这里是new出 ...
- Linq使用Group By经验总结
1.计数 var q = from p in db.Products group p by p.CategoryID into g select new { g.Key, NumProducts = ...
- C# group 子句
group 子句返回一个 IGrouping<TKey,TElement> 对象序列,这些对象包含零个或更多与该组的键值匹配的项. 例如,可以按照每个字符串中的第一个字母对字符串序列进行分 ...
- 在LINQ查询中LINQ之Group By的用法
LINQ定义了大约40个查询操作符,如select.from.in.where.group 以及order by,借助于LINQ技术,我们可以使用一种类似SQL的语法来查询任何形式的数据.Linq有很 ...
- linq中group by
本文导读:LINQ定义了大约40个查询操作符,如select.from.in.where.group 以及order by,借助于LINQ技术,我们可以使用一种类似SQL的语法来查询任何形式的数据.L ...
随机推荐
- nlog(n)解动态规划--最长上升子序列(Longest increasing subsequence)
最长上升子序列LIS问题属于动态规划的初级问题,用纯动态规划的方法来求解的时间复杂度是O(n^2).但是如果加上二叉搜索的方法,那么时间复杂度可以降到nlog(n). 具体分析参考:http://b ...
- bss段和data段的区别
一般情况下,一个程序本质上都是由 bss段.data段.text段三个组成的——本概念是当前的计算机程序设计中是很重要的一个基本概念.而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大 ...
- JavaMelody应用监控使用指南
原文链接:http://www.cnblogs.com/xing901022/p/4116430.html 前言 本文参考JavaMelody的UserGuide编写,部分文字均来自文档,添加有个人理 ...
- CAS认证原理图
- 转 mv 管道符
需求:想列出指定的内容并将其转移到新的目录中 通过使用mv和管道符有几种方法, 1.file=`ls pattern`;mv $file newdir 2.ls pattern|xargs -i mv ...
- springmvc下使用kaptcha做验证码
http://www.open-open.com/lib/view/open1395238908947.html
- merge 实现
今天写了个小程序,做两个已经从小到大排序好的数据的merge. 要求: listA = (1, 3, 5, 10); listB = (4, 6, 12):listA 和listB都是排序由小到大的列 ...
- NetBPM的安装 -转
NetBPM的安装还是比较简单的,有比较详细的文档. 1.当然是先下载运行程序了, netbpm-0.8.3.1.zip ,官方网站:http://www.netbpm.org:2.然后解压后自己看 ...
- wow 各职业体验(pvp)
玩过职业 近战 武器战,冰DK,惩戒骑,增强萨,踏风 法系远程 鸟德,痛苦术,火法,奥法 治疗 奶德,奶骑,奶萨 三板甲职业就冰DK 最轻松,增强萨操作最频繁 机动性最好就武器战,踏风最差的,踏风群攻 ...
- C#基础总结之六 DataTable (临时表/数据源) 和Datatable 名片练习
#region DataTable (临时表/数据源) 存储数据 DataTable dataTable = new DataTable(); dataTable.Columns.Add(" ...