來自森大科技官方博客
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