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 ? "男" ...
随机推荐
- Windows多网卡上网设置
http://blog.tianya.cn/blogger/post_show.asp?BlogID=1566293&PostID=12984307
- -webkit-appearance、sselect
-webkit-appearance 是一个 不规范的属性(unsupported WebKit property),用来改变按钮和其他控件的外观,使其外观类似于原生控件. iOS下的safari中有 ...
- [GodLove]Wine93 Tarining Round #8
比赛链接: http://vjudge.net/contest/view.action?cid=47644#overview 比赛来源: 2012 ACM/ICPC Asia Regional Tia ...
- redis 数据结构一 之t_string
简介 REDIS有非常丰富的数据结构 以及建立在这数据结构上的操作,在源文件中主要集中在 T_hash.c /T_list.c /T_string.c/T_zset.c 可以说读懂了这4个源文件 大 ...
- win7绕过开机密码攻略
访问windows机器,经常会因为忘记了开机密码而苦恼.当然你也可以选择重装,这样最简单粗暴.如果有重要数据保存在C盘之类的(个人严重推荐不要保存到C盘),那就不是重装能解决的问题了.2014年12月 ...
- 如何设置mysql的表不区分你大小写
Linux上安装MySQL默认是数据库的表大小写敏感的.修改很简单,只要该一个mysql的配置文件就可以了. mysql> show tables;+---------------------- ...
- Mac 下如何使用 Tree 命令
方式一 Mac 系统下默认是不带这条命令的,执行下面这条命令也可以打印出树状结构. find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' 不想每 ...
- Hadoop YARN 100-1知识点
0 YARN中实体 资源管理者(resource manager, RM) 长时间运行的守护进程,负责管理集群上资源的使用 节点管理者(node manager, NM) 长时间运行的守护进程,在集群 ...
- UE4 VR 模式画面扭曲 解决方法
后期处理盒子 详细设置->setting->Misc->screen percentage 设置为100
- centos 6.8 安装 nginx-1.11.4
yum -y install gcc-c++ wget http://nginx.org/download/nginx-1.11.4.tar.gz wget https://www.openssl. ...