如何使用LinQ To Object把数组或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的话
看起来非常的清爽,而且和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这时候又该怎么处理呢?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
上一篇:没有了
栏 目:C#教程
下一篇:没有了
本文标题:如何使用LinQ To Object把数组或DataTable中的数据进行向上汇总
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/4554.html
您可能感兴趣的文章
- 01-10Extjs4如何处理后台json数据中日期和时间
- 01-10C#使用Dispose模式实现手动对资源的释放
- 01-10C#3.0使用EventLog类写Windows事件日志的方法
- 01-10C#使用windows服务开启应用程序的方法
- 01-10asp.net中XML如何做增删改查操作
- 01-10c# ArrayList的使用方法小总结
- 01-10C#使用ADO.Net部件来访问Access数据库的方法
- 01-10C#使用Mutex简单实现程序单实例运行的方法
- 01-10使用Nopcommerce为商城添加满XX减XX优惠券功能
- 01-10C#中yield用法使用说明
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频 器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法实例总结
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 04-02jquery与jsp,用jquery
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10SublimeText编译C开发环境设置
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-11ajax实现页面的局部加载