LINQ、Lambda 的转换
var d = from d1 in pDT1.AsEnumerable()
from d2 in pDT2.AsEnumerable()
where d1.Field<string>("ID") == d2.Field<string>("ID")
select new { a = d1.Field<string>("ID"), v = d1.Field<double>("VALUE") * d2.Field<double>("VALUE") };
var d = pDT1.AsEnumerable().Join(pDT2.AsEnumerable(), s => s.Field<string>("ID"), sc => sc.Field<string>("ID"), (s, sc) => new
{
a = s.Field<string>("ID"),
v = s.Field<double>("VALUE") * sc.Field<double>("VALUE")
});
例子,三个DataTable之间的运算
var d = pDT1.AsEnumerable().Join(pDT2.AsEnumerable(), s => s.Field<string>("ID"), sc => sc.Field<string>("ID"), (s, sc) => new
{
a = s.Field<string>("ID"),
v = s.Field<double>("VALUE") * sc.Field<double>("VALUE")
});
DataTable pDT3 = pGetDT();
foreach (var l in d)
{
DataRow pDR = pDT3.NewRow();
pDR[] = l.a;
pDR[] = l.v;
pDT3.Rows.Add(pDR);
Console.WriteLine("{0} {1}", l.a, l.v);
}
var E = from d1 in d
from d2 in pDT1.AsEnumerable()
where d1.a == d2.Field<string>("ID")
select new { a = d1.a, v = Convert.ToDouble( d1.v) - d2.Field<double>("VALUE") };
foreach (var l in E)
{
Console.WriteLine("{0} {1}", l.a, l.v);
}
Console.ReadLine();
LINQ、Lambda 的转换的更多相关文章
- lambda表达式转换sql
using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; usin ...
- [算法1-排序](.NET源码学习)& LINQ & Lambda
[算法1-排序](.NET源码学习)& LINQ & Lambda 说起排序算法,在日常实际开发中我们基本不在意这些事情,有API不用不是没事找事嘛.但必要的基础还是需要了解掌握. 排 ...
- SQL,LINQ,Lambda语法对照图(转载)
如果你熟悉SQL语句,当使用LINQ时,会有似曾相识的感觉.但又略有不同.下面是SQL和LINQ,Lambda语法对照图 SQL LINQ Lambda SELECT * FROM HumanReso ...
- ASP.NET EF(LINQ/Lambda查询)
EF(EntityFrameWork) ORM(对象关系映射框架/数据持久化框架),根据实体对象操作数据表中数据的一种面向对象的操作框架,底层也是调用ADO.NET ASP.NET MVC 项目会自动 ...
- SQL,Linq,Lambda之间的转换练习
1.查询Student表中的所有记录的Sname.Ssex和Class列. SQL:select sname,ssex,class from Students linq:from s in Stude ...
- Ext.ux.grid.feature.Searching 解析查询参数,动态产生linq lambda表达式
上篇文章中http://www.cnblogs.com/qidian10/p/3209439.html我们介绍了如何使用Grid的查询组建,而且将查询的参数传递到了后台. 那么我们后台如何介绍参数,并 ...
- Linq lambda 匿名方法
课程6 委托.匿名方法.Lambda表达式.Linq查询表达式 上课日志1 一.委托的基本认识 提问:能不能把方法作为参数传递??? 也即是能不能声明一个能存放方法的变量呢——委托. 委托是一种数据类 ...
- LINQ系列:Linq to Object转换操作符
转换是指将输入对象的类型转变为序列的动作. 1. AsEnumerable AsEnumerable操作符将查询的输入以IEnumberable(T)类型返回. 2. Cast Cast操作符将IEn ...
- linq lambda let
1.linq let用法 var query = from x in db.Users let theage = x.age let sexstring = x.sex ? "男" ...
随机推荐
- setTimeout用于取消多次执行mouseover或者mouseenter事件,间接实现hover的悬停加载的效果.
Mouseenter在鼠标滑上去不会对其子元素也发生监听, Mouseover在鼠标滑上去会对其子元素发生监听. 所以对于事件的监听,我们要看需求,这里是对父元素的监听,不需要对子元素做监听.就用mo ...
- 上传文件swfUploadConfig.js
/*/* * Unobstrusive swf upload widget using jQuery. *example : $(':file.uo_widget_form_input_file_sw ...
- ansible安装httpd
--- - hosts: web tasks: - name: "INSTALL" yum: name={{ item }} state=pres ...
- 主要由顶点容器构成的平面图形类(Shape)——(第一次作业Draw类定义升级)
// https://github.com/orocos/orocos_kinematics_dynamics/blob/master/orocos_kdl/src/frames.hpp // Vec ...
- 继续向peersim的event-driven模式开火!(新手勿喷)
昨天学习了peersim的cycle模式,今天开始继续悟事件模式. 总的来说,我个人认为事件模式是周期模式的升级版,或者说,周期模式只是事件模式的一个子功能. 事件模式是基于时间和事件的(没打错),每 ...
- 解决JS中各浏览器Date格式不兼容的问题
IE,Chrome和FireFox等浏览器都支持的一种日期格式是:2015/11/30 19:29:23. 所以,可以这样写: var timeStr = new Date("2015/11 ...
- ArrowLayer : A coustom layer animation
Since my other answer (animating two levels of masks) has some graphics glitches, I decided to try r ...
- Outline of Apache Jena Notes
1 description 这篇是语义网应用框架Apache Jena学习记录的索引. 初始动机见Apache Jena - A Bootstrap 2 Content 内容组织基本上遵循Jena首页 ...
- 《Android深度探索HAL与驱动开发》第一章阅读心得
首先了解到Android系统架构是由四层构成:其中第一层是Linux内核,他的作用是负责Linux的驱动程序以及内存.进程.电源等管理操作:第二层是C/C++代码库,也就是Linux下.so的文件:第 ...
- Visual Studio 创建C++或C#Windows程序
使用工具Visual Studio,创建一个C++或C#Windows程序,在主窗口中显示“Hello World”,用户可以用鼠标拖动“Hello World”在主窗口中移动 首先创建一个项目 选 ...