来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=215
GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
http://cnsendnet.taobao.comphp
最近搞造价系统时遇到一些须要汇总的指标数据 数据库
相似下面的结构数组
指标A 1000
指标B 500
指标C 500网络
指标A = B+C 运维
当咱们须要对这些数值进行校验时,实现的方法有不少种,数据库里写存储过程去更新每行数据,
或者咱们在程序中遍历等等,但用起来都挺烦琐的。ide
这时候想到了 Linq To Object 这个技术 网站
简单说下 Linq 它是.Net Framework 3.5 引入的新技术
它容许编写C#或者Visual Basic代码以查询数据库相同的方式操做内存数据。3d
主要 有几点好处 简单 和 SQL 的语法差很少 举个例子来讲blog
这里有两个数组 须要你找出 A 与 B 都存在的元素内存
A=int[]{1,2,3,4,5,6,7,8,0}; B=int[]{2,4,7,8,9}
通常咱们会这么写
若是使用 Linq的话
看起来很是的清爽,并且和SQL的语法相似 咱们能够快速的掌握。
至于具体的语法和介绍 你们能够自行的查询 http://msdn.microsoft.com/zh-cn/library/vstudio/bb397926.aspx
说回来 在咱们的项目中如何使用呢?
例如最开始的例子
指标A 1000
指标B 500
指标C 500
指标A = B+C
这里我定义一个实体类
class CIndex{
string CIID;
string ParentCIID;
double Cost;
}
获取全部指标的数据到一个数组中。 listIndexs
注意例子中的指标要按树形顺序排列好,而后咱们从最底下的子节点往上更新数据,
这样能够避免先更新了父节点后,才发现子节点数据不对的问题。
对数组从最后面的元素开始遍历
这样就能很简单的完成对父子节点的计算。
项目中咱们不少时候都会用到 DataTable 那么Linq这时候又该怎么处理呢?
须要更深刻了解的 你们能够阅读这几篇文章 写得蛮不错的 分享下
• 1. 到如今为止你还未触碰LINQ,那进来吧 —— LINQ入门(上篇)
• 2. 到如今为止你还未触碰LINQ,那进来吧 —— LINQ入门(中篇)
• 4. 到如今为止你还未触碰LINQ,那进来吧 —— LINQ入门(下篇)
• 3. 到如今为止你还未触碰LINQ,那进来吧 —— LINQ入门(完结篇)
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=215
GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
http://cnsendnet.taobao.com