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

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

“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 成都创新互联是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于成都做网站、网站设计、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!

类似下面的结构

指标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中的数据进行向上汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


网站名称:如何使用LinQToObject把数组或DataTable中的数据进行向上汇总
本文URL:http://www.hxwzsj.com/article/gcjidg.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 成都网站设计 网站建设费用 重庆手机网站建设 网站建设公司 网站设计 温江网站设计 四川成都网站制作 成都h5网站建设 营销型网站建设 高端网站设计 网站制作报价 成都网站建设 品牌网站建设 重庆网站制作 成都网站制作公司 成都网站建设公司 营销网站建设 成都网站建设 LED网站设计方案 成都网站建设 成都网站建设 成都营销网站制作