https://www.cnblogs.com/johnblogs/p/6006867.html

DataTable ds = new DataTable();

//1、lamda 表达式写法(推荐)
var
result = ds.AsEnumerable().GroupBy(s => new{Year =
s.Field<int>("Year"), Month = s.Field<int>("Month"), Day =
s.Field<int>("Day")});

//2、Linq写法 最终编译器会把它转化为lamda表达式
//var result = from s in ds.Tables[0].AsEnumerable()
            
group s by new { Year = s.Field<int>("Year"), Month =
s.Field<int>("Month"), Day = s.Field<int>("Day") } into temp

select temp;

//DataTable 使用GroupBy方法需要注意result为IGrouping<int,DataRow>类型
foreach (var thisGroup in result)
        {
            foreach (var row in thisGroup)
            {
                //遍历当前这组的所有row
            }
        }

 
 
 
 
//统计不重复的数量,没测试不知是否能用
dt.DefaultView.ToTable(true, new string[1] { "UserName" }).Rows.Count;
 
 
 
http://www.xuebuyuan.com/1990057.html
using (DataTable dt = ds.Tables[0])
        {
            //三个变量分别记录总记录数、不重复的用户数、所有用户的金额总额
            int rowsCount, distinctUserRowsCount, AllUserMoney;
            rowsCount = dt.Rows.Count;
            distinctUserRowsCount = dt.DefaultView.ToTable(true, new string[1] { "UserName" }).Rows.Count;
            AllUserMoney = Convert.ToDecimal(dt.Compute("sum(UserMoney)", ""));
        }

C#DataTable 使用GroupBy方法的lamda 表达式和Linq语句写法的更多相关文章

  1. 【笔记】DataTable或IList使用GroupBy方法的lamda表达式

    DataTable GroupBy的用法 var result = dt.AsEnumerable(). GroupBy(g => new { StaffID = g.Field<stri ...

  2. SQL、Linq、lamda表达式 同一功能不同写法

    一.SQL.Linq.lamda表达式 同一功能不同写法 SQL LINQ Lambda SELECT * FROM HumanResources.Employee from e in Employe ...

  3. lamda表达式的两种写法

    public class Test{ public synchronized void test1(){ System.out.println("test1 start........... ...

  4. C#高级知识点概要(3) - 特性、自动属性、对象集合初始化器、扩展方法、Lambda表达式和Linq查询

    1.特性(Attributes) 特性(Attributes),MSDN的定义是:公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型.字段.方法 ...

  5. MVC用户登录方法(lamda表达式)

        public bool ValidateUser(account model) { using (assertEntities db = new assertEntities()) { acc ...

  6. EF的连表查询Lambda表达式和linq语句

    select c; ), b=> b.Id, p=> p.BlogId, (b, p) => new {b}); public class Blog { public int Id ...

  7. 第六章 接口,lamda表达式与内部类

    接口 接口可以包含常量, 且不需要publish static final修饰, 接口的域会自动添加该修饰符. Java建议不要写多余的代码,因此省略修饰符更简洁. 全部都是常量的接口背离了接口的初衷 ...

  8. c# Linq及Lamda表达式应用经验之 GroupBy 分组

    示例1: GroupBy 分组在List<>泛型中的应用 原表: 按姓名Nam 分组后结果: 对DATATABLE 进行LAMDA查询时必须在项目的引用中添加 System.Data.Da ...

  9. (转)c# Linq及Lamda表达式应用经验之 GroupBy 分组

    本文转载自:http://www.cnblogs.com/han1982/p/4138163.html 示例1: GroupBy 分组在List<>泛型中的应用 原表: 按姓名Nam 分组 ...

随机推荐

  1. NFS配置与安装

    安装 1 环境描述:    * 网络环境:                  NFS server: 192.168.102.47                  NFS client: 192.1 ...

  2. 数据模型Model(I)

    枚举.结构体和协议组成Model //定义一个协议 protocol BaseItemProtocal { var title: String { get set } //属性是可读可写的 var t ...

  3. Web处理方式

    ProcessRequest 方法简称 PR方法 PR方法内部调用Page_Load方法   MVC设计模式 Model是指要处理的业务代码和数据操作代码 View视图主要是指的跟用户打交道并能够展示 ...

  4. Axure RP Extension for Chrome修复

    Axure RP Extension for Chrome安装之前一直用 Firefox 浏览器浏览原型文件,一直用不惯,而且用 Firefox 的唯一目的就是看原型.其他都是用 Chrome 浏览器 ...

  5. 创建一个简单的WCF程序2——手动开启/关闭WCF服务与动态调用WCF地址

    一.创建WCF服务器 1.创建WCF服务器的窗体应用程序 打开VS2010,选择文件→新建→项目菜单项,在打开的新建项目对话框中,依次选择Visual C#→Windows→Windows窗体应用程序 ...

  6. pyspider操作千万级库,pyspider在对接量级较大库的策略

    pyspider操作千万级库,pyspider在对接量级较大库的策略 如果是需要pyspider正常的流程去执行,那必然是会在on_strat()时任务执行超时,可能只读取出几万条或十几万条数据就会被 ...

  7. js数组内数字按大小排序实现函数

    正常冒泡排序: function evlabc(a) { //排序大小 var i = j = t = 0; for (i = 0; i < a.length; i++) { for (j = ...

  8. 前端框架VUE----nodejs中npm的使用

    NPM是什么? 简单的说,npm就是JavaScript的包管理工具.类似Java语法中的maven,gradle,python中的pip. 安装 傻瓜式的安装. 第一步:打开https://node ...

  9. strpos 的正确使用方式

    首先简单介绍下strpos函数: strpos函数是查找某个字符在字符串中的位置:这里需要明确这个函数的作用: 这个函数得到的是位置:如果存在:返回数字:否则返回的是false: 而很多时候我们拿这个 ...

  10. 写给大忙人的ELK最新版6.2.4学习笔记-Logstash和Filebeat解析(java异常堆栈下多行日志配置支持)

    接前一篇CentOS 7下最新版(6.2.4)ELK+Filebeat+Log4j日志集成环境搭建完整指南,继续对ELK. logstash官方最新文档https://www.elastic.co/g ...