网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

使用LinQToObject把数组或DataTable中的数据进行向上汇总

来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=215
GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
http://cnsendnet.taobao.com

创新互联主要从事成都做网站、网站建设、外贸营销网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务抚松,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

最近搞造价系统时遇到一些需要汇总的指标数据

类似下面的结构

指标A 1000
指标B 500
指标C 500

指标A = B+C

当我们需要对这些数值进行校验时,实现的方法有很多种,数据库里写存储过程去更新每行数据,
或者我们在程序中遍历等等,但用起来都挺烦琐的。

这时候想到了 Linq To Object 这个技术

简单说下 Linq 它是.Net Framework 3.5 引入的新技术
它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。

主要 有几点好处 简单 和 SQL 的语法差不多 举个例子来说

这里有两个数组 需要你找出 A 与 B 都存在的元素

A=int[]{1,2,3,4,5,6,7,8,0}; B=int[]{2,4,7,8,9}

一般我们会这么写
使用LinQ To Object把数组或DataTable中的数据进行向上汇总
如果使用 Linq的话
使用LinQ To Object把数组或DataTable中的数据进行向上汇总
看起来非常的清爽,而且和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

注意例子中的指标要按树形顺序排列好,然后我们从最底下的子节点往上更新数据,
这样可以避免先更新了父节点后,才发现子节点数据不对的问题。

对数组从最后面的元素开始遍历
使用LinQ To Object把数组或DataTable中的数据进行向上汇总
这样就能很简单的完成对父子节点的计算。

项目中我们很多时候都会用到 DataTable 那么Linq这时候又该怎么处理呢?
使用LinQ To Object把数组或DataTable中的数据进行向上汇总

需要更深入了解的 大家可以阅读这几篇文章 写得蛮不错的 分享下

• 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


文章名称:使用LinQToObject把数组或DataTable中的数据进行向上汇总
URL分享:http://bjjierui.cn/article/jshosh.html

其他资讯