时间:2021-05-19
最近搞造价系统时遇到一些需要汇总的指标数据
类似下面的结构
指标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这时候又该怎么处理呢?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言当您使用LINQ来处理数据库时,这种体验是一种神奇的体验,对吗?你把数据库实体像一个普通的收集,使用Linq中像Where,Select或者Take,这些简
什么是数组?在使用PHP进行开发的过程中,或早或晚,您会需要创建许多相似的变量。无需很多相似的变量,你可以把数据作为元素存储在数组中。数组中的元素都有自己的ID
在开发中可能会遇到这几种情况:1、EF或LINQ查询出来的匿名对象在其它地方调用不方便,又懒的手动建实体类2、通过datatable反射实体需要先建一个类,头痛
本文实例讲述了C#使用linq对数组进行筛选排序的方法。分享给大家供大家参考。具体如下:usingSystem;usingSystem.Collections.
我们在进行开发时,会经常使用DataTable来存储和操作数据,我发现在遍历DataTable并对数据进行删除和添加操作时速度非常慢,查阅相关资料并测试在添加主