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简化了开发中需要编写的代码量.它可以包含表达式和语句,并且可用于创建委托 ...
随机推荐
- 【学习笔记】【C语言】变量
1. 什么是变量 当一个数据的值需要经常改变或者不确定时,就应该用变量来表示.比如游戏积分. 2. 定义变量 1> 目的 任何变量在使用之前,必须先进行定义. 定义变量的目的是:在内存中分配一块 ...
- VxWorks 6.9 内核编程指导之读书笔记 -- C++开发
5.1 介绍 针对C++的VxWorks配置 C++头文件 使用C++启动任务 C和C++之前调用代码 C++编译器说明 在信号处理和ISR中使用C++ 下载C++编写的内核模块 C++编译器的不同 ...
- Python3 - 时间处理与定时任务
1.计算明天和昨天的日期 #! /usr/bin/env python #coding=utf-8 # 获取今天.昨天和明天的日期 # 引入datetime模块 import datetime #计算 ...
- 4月12日学习笔记——jQuery操作属性和样式
区分 DOM 属性和元素属性 <img src="images/image.1.jpg" id="hibiscus" alt="Hibiscus ...
- mysql安装过程中出现的错误问题解决方案
最近在学Django,因为与数据库相关,所以我下载并安装了MySQL,安装的过程真的是一把辛酸泪啊.安装过后,查看是否可以使用,出现了cann't connect to mysql server这个错 ...
- ARC小知识
ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting).简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管 ...
- Selenium定位元素
Commands (命令) Action对当前状态进行操作失败时,停止测试 Assertion校验是否有产生正确的值 Element Locators指定HTML中的某元素 Patterns用于模式匹 ...
- 《linux文件权限管理大总结》RHEL6
在linux系统下文件的权限通常会以下面的格式显示出来: Chmod文件权限: 权限的管理chmod -a 所有的权限 -u 文件所有者的权限 -g 组权限 -o 其他用户的权限 可以使用运算符来设 ...
- LitJSON使用
地址:http://lbv.github.io/litjson/docs/quickstart.html LitJSON Quickstart Guide Introduction Quick Sta ...
- ios 控件
反序列化 JSONModel 上拉刷新 下拉加载更多 MJRefresh AFNetworking 2.5 Asynchronous image downloader with cache - SDW ...