using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
DataTable dtNew = new DataTable();
dtNew.Columns.Add("Index", Type.GetType("System.String"));
dtNew.Columns.Add("Name", Type.GetType("System.String"));
dtNew.Columns.Add("Age", Type.GetType("System.String"));
dtNew.Columns.Add("Class", Type.GetType("System.String"));
for (int i = 0; i < 3; i++)
{
DataRow dr = dtNew.NewRow();
dr["Index"] = i;
dr["Name"] = "张三";
dr["Age"] = i+1;
dr["Class"] = i+2;
dtNew.Rows.Add(dr);
}

DataTable table = dtNew.Copy();
Dictionary<string, DataTable> dt = table.AsEnumerable().GroupBy(x => x["Index"].ToString()).ToDictionary(x => x.Key,
y =>
{
DataTable tb = table.Clone();
foreach (var item in y)
{
DataRow row = tb.NewRow();
for (int i = 0; i < item.ItemArray.Count(); i++)
{
row[i] = item[i];
}
tb.Rows.Add(row);
}
return tb;
});
}
}
}

lambda表达式操作DataTable的更多相关文章

  1. lambda表达式操作DataTable番外篇

    using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text; ...

  2. Java8新特性 1——利用流和Lambda表达式操作集合

    Java8中可以用简洁的代码来操作集合,比如List,Map,他们的实现ArrayList.以此来实现Java8的充分利用CPU的目标. 流和Lambda表达式都是Java8中的新特性.流可以实现对集 ...

  3. 用Lambda表达式操作List集合

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  4. Util应用程序框架公共操作类(八):Lambda表达式公共操作类(二)

    前面介绍了查询的基础扩展,下面准备给大家介绍一些有用的查询封装手法,比如对日期范围查询,数值范围查询的封装等,为了支持这些功能,需要增强公共操作类. Lambda表达式公共操作类,我在前面已经简单介绍 ...

  5. Util应用程序框架公共操作类(七):Lambda表达式公共操作类

    前一篇扩展了两个常用验证方法,本文将封装两个Lambda表达式操作,用来为下一篇的查询扩展服务. Lambda表达式是一种简洁的匿名函数语法,可以用它将方法作为委托参数传递.在Linq中,大量使用La ...

  6. Java 函数式编程(Lambda表达式)与Stream API

    1 函数式编程 函数式编程(Functional Programming)是编程范式的一种.最常见的编程范式是命令式编程(Impera Programming),比如面向过程.面向对象编程都属于命令式 ...

  7. Util应用程序框架公共操作类(十二):Lambda表达式公共操作类(三)

    今天在开发一个简单查询时,发现我的Lambda操作类的GetValue方法无法正确获取枚举类型值,以至查询结果错误. 我增加了几个单元测试来捕获错误,代码如下. /// <summary> ...

  8. Util应用程序框架公共操作类(九):Lambda表达式扩展

    上一篇对Lambda表达式公共操作类进行了一些增强,本篇使用扩展方法对Lambda表达式进行扩展. 修改Util项目的Extensions.Expression.cs文件,代码如下. using Sy ...

  9. Java8 Lambda表达式和流操作如何让你的代码变慢5倍

    原文出处:ImportNew 有许许多多关于 Java 8 中流效率的讨论,但根据 Alex Zhitnitsky 的测试结果显示:坚持使用传统的 Java 编程风格——iterator 和 for- ...

随机推荐

  1. net core中Vue.component单独一个文件不运行,不报错的处理

    Vue.component代码段原先是放到view下的cshtml中的,可以正常运行,后来为了方便代码管理,将这块代码块单独放到一个js文件中,结果点击按钮等等都没有任何反应了,同时js控制台也不报错 ...

  2. linux下获取软件源码包 centos/redhat, debian/ubuntu

    linux下获取软件源码包 centos/redhat, debian/ubuntu centos下: 1. yum install yum-utils 主要为了获取yumdownloader 2. ...

  3. 10.02经典类的bug

    #以下在python 3.6版本里已没有这个问题了1class A: def _init__(self): print ("this is A") def save(self): ...

  4. Mysql快速入门(看完这篇能够满足80%的日常开发)

    这是一篇mysql的学习笔记,整理结合了网上搜索的教程以及自己看的视频教程,看完这篇能够满足80%的日常开发了. 菜鸟教程:https://www.runoob.com/mysql/mysql-tut ...

  5. Webconfig配置刷新时间,前台页面调用这个时间

    <configuration> <appSettings> <add key="webpages:Version" value="2.0.0 ...

  6. 王艳 201771010127《面向对象程序设计(java)》第八周学习总结

    一:理论部分. 1.接口:Java为了克服单继承的缺点,Java使用了接口,一个类可以实现一个或多接口.(接口不是类,而是对类的一组需求描述,它由常量和一组抽象方法组成) 1)通常,接口名称以able ...

  7. view组件的封装是否需要特有模型?

    必须需要. 现在接手的老项目,所有自定义组件全部使用的原始的全量数据,作为模型给view用来展示. 结果发现,基本数据的选择错误,需要选择另一个数据作为基本数据,这导致一个很麻烦的问题,需要改动全部的 ...

  8. Web Scraper——轻量数据爬取利器

    日常学习工作中,我们多多少少都会遇到一些数据爬取的需求,比如说写论文时要收集相关课题下的论文列表,运营活动时收集用户评价,竞品分析时收集友商数据. 当我们着手准备收集数据时,面对低效的复制黏贴工作,一 ...

  9. hibernate 异常分析:java.lang.NoClassDefFoundError: org/hibernate/Session

    原因: NoClassDefFoundError的含义就是说编译器找不到org/hibernate/Session这个类的定义 解决方法: 1.检查java中是否导入hibernate 包 impor ...

  10. SecureCRT 简单运用

    1.想要从本地电脑将文件通过secureCRT传输到远程服务器如下目录 2.在SecureCRT界面中使用快捷键[Alt+P] 打开了SFTP的界面 3.找到你要传的文件的地址[E:\a.zip] 4 ...