lamada 表达式之神奇的groupby
少说话多干活
先定义一个测试用的实体,接下来会用字段Name进行分组的
public class TestToRun
{
public string Name { get; set; }//名称
public int Qutyti { get; set; }//分数
public int Sex { get; set; }//戏谑
public string HCode { get; set; }//编码
}
这里用窗体测试的里面代码可以用
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
var r1 = Getlist().GroupBy(m => m.Name).Select(p=>new HAHA(){Name=p.Key,SumQu=p.Sum(n=>n.Qutyti)});
var r2 =
(from m in Getlist() group m by m.Name into g select new { g.Key, csum = g.Sum(m => m.Qutyti) }).ToList();
int a = 0;
}
//计算后测试后人表达式r1=r2
//先对集合进行分组在进行选择,之前一直没有使用select进行组合一位分组有问题,结果带参数的所有方法都用了一遍。。。。可想而知 真惨 结果没有一个对的。现在改了以后不要在范这样的错误
private List<TestToRun> Getlist()
{
var list = new List<TestToRun>()
{
new TestToRun(){Name="a",Qutyti=1,Sex=1,HCode="0001"},
new TestToRun(){Name="a",Qutyti=2,Sex=1,HCode="0002"},
new TestToRun(){Name="a",Qutyti=3,Sex=1,HCode="0003"},
new TestToRun(){Name="a",Qutyti=4,Sex=1,HCode="0004"},
new TestToRun(){Name="a",Qutyti=5,Sex=1,HCode="0005"},
new TestToRun(){Name="a",Qutyti=6,Sex=1,HCode="0006"},
new TestToRun(){Name="b",Qutyti=1,Sex=1,HCode="0007"},
new TestToRun(){Name="c",Qutyti=2,Sex=1,HCode="0008"},
new TestToRun(){Name="c",Qutyti=2,Sex=1,HCode="0008"},
new TestToRun(){Name="c",Qutyti=2,Sex=1,HCode="0010"},
new TestToRun(){Name="c",Qutyti=2,Sex=1,HCode="0011"}
};
return list;
}
}
lamada 表达式之神奇的groupby的更多相关文章
- Linq学习工具及Lamada表达式
好东西.转载一个.以备学习 Linq学习工具: http://www.linqpad.net/ Lamada表达式: Func<int, int, int> IntPow = (x ...
- EF框架+Lamada表达式(联合多表lamada表达式的用法)
有俩张表对应的EF框架的类Reviews和Commodity_Review,新建一个新的类,字段是联合俩张表后自己需要展示的字段ReviewsShow IQueryable<ReviewsSho ...
- 【C#】Lamada表达式演变过程
static void Main() { //第一步 委托实例调用 Func<string, int> test = new Func<string, int>(getLeng ...
- C#基础加强篇---委托、Lamada表达式和事件(中)
2.Lamada表达式 C#共有两种匿名函数:匿名方法和Lamada表达式.在2.0之前的C#版本中,创建委托的唯一方法是使用命名方法.C#2.0中引入了匿名方法,匿名方法就是没有名称的方法. ...
- C#基础加强篇----委托、Lamada表达式和事件(上)
1.委托 C#的委托相当于C/C++中的函数指针.函数指针用指针获取一个函数的入口地址,实现对函数的操作. 委托与C/C++中的函数指针不同在于,委托是面向对象的,是引用类型,对委托的使用要先定义后实 ...
- c# Linq及Lamda表达式应用经验之 GroupBy 分组
示例1: GroupBy 分组在List<>泛型中的应用 原表: 按姓名Nam 分组后结果: 对DATATABLE 进行LAMDA查询时必须在项目的引用中添加 System.Data.Da ...
- (转)c# Linq及Lamda表达式应用经验之 GroupBy 分组
本文转载自:http://www.cnblogs.com/han1982/p/4138163.html 示例1: GroupBy 分组在List<>泛型中的应用 原表: 按姓名Nam 分组 ...
- C# Linq及Lamda表达式实战应用之 GroupBy 分组统计
在项目中做统计图表的时候,需要对查询出来的列表数据进行分组统计,首先想到的是避免频繁去操作数据库可以使用 Linq eg: //例如对列表中的Cu元素进行按年GroupBy分组统计 //包含年份,平均 ...
- C# Lamada表达式
Lambda表达式 "Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量.它可以包含表达式和语句,并且可用于创建委托 ...
随机推荐
- 解决方案:Default Activity Not Found !
在Android Studio 中按 Ctrl+F11运行工程的时候,突然弹出一个Edit Configuration 对话框,让选择一个默认的Activity,之前默认情况下是直接编译到虚拟机运行的 ...
- 慎用memset();
<span style="font-family: Arial, Helvetica, sans-serif;">void *(memset) (void *s,int ...
- 运维人愿意听到的话 vs 不愿意听到的话
在公司兼做了接近两年的远程运维工作,与内部打交道的过程中听到各种各样的话, 简单摘列一下那些似曾相识的愿意.不愿意听到的话: ”先别操作,帮忙先拷贝日志!我们调查一下答复!“ vs ”你先重启一下 ...
- DWZ (JUI) 教程 根据ID刷新 dialog
reloadDialog:function(dialogId){ var dialog = $("body").data(dialogId); if(dialog){ $.pdia ...
- Android 图片开发内幕系列第一篇
前言:本来我是做电视应用的,但是因为公司要出手机,人员紧张,所以就抽调我去支援一下,谁叫俺是雷锋呢!我做的一个功能就是处理手机中的应用ICON,处理无非就是美化一下,重新与底板进行合成和裁剪,用到了很 ...
- Windows下搭建论坛
Windows下搭建论坛 真正的O基础架构,一步一步走向成功 转载请注明原作者出处 环境准备篇 安装集成包软件 解压后如下 以管理员身份运行setup的批处理 选择推荐的apache版本 选择推荐的m ...
- IOS版应用商店应用源码
app商店 swift版 用swift编写的 应用商店 支持iPad iPhone利用了ios8过渡动画 支持横竖屏操作 源码下载: http://code.662p.com/view/11384.h ...
- 初探内联方式的 onload="doSomething()"为何要加"()"?而js代码的 onload="doSomething" 和 addEventListener 为何不加"()"?
问题引入:在看<Jquery基础教程>第四版的时,P34页有这样一段话 引用函数与调用函数 这里在将函数指定为处理程序时,省略了后面的圆括号,只使用了函数名.如果带着圆括号,函数会被立即调 ...
- MYSQL基础02(查询)
查询是很大的一块,所以这里我只会写mysql的特点,就我目前使用的情况,MYSQL对标准SQL是比较支持,如果是新手的话,建议去w3school 学习标准SQL. 1.DUAL DUAL是一个虚拟表, ...
- C++ 双链表基本操作
上一篇博客主要总结了单向链表,这次再总结一下双向链表. 1.概念 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱.所以,从双向链表中的任意一个结点开始,都 ...