2011-10-03 92 views
0

我對linq有點新。C#,在LINQ中查找2列總和

如何獲取數據表中兩列的總和。

假設2列是A & B。我想數字總和整列A和整個塔B (即totalSum =總和(A)+和(B))

IMP的: 如果我在任一2列的非任意字段數字字段(例如AB,WH,DBNULL)。在總結這些值時,該字段應被視爲零,以便它不會拋出任何異常。

+0

這將會回答你的問題 http://stackoverflow.com/questions/2432281/get-sum-of-two-columns-in-one-linq-query – Bobby

+0

@Bobby那個鏈接不會解決我的非數字字段問題 –

回答

4

對於每一行或整列A和整列B的總和?

在第一種情況下,你可以做一個選擇:

var resultWithSum = from row in table 
select new{ 
    A = row.A, //optional 
    B = row.B, //optional 
    sum = row.A + row.B 
} 

否則,你可以這樣做:

result = table.Sum(row => row.A + row.B) 
+0

這將拋出異常如果字段是非數字權利? –

+0

@Nithesh:如果未爲A或B的數據類型定義+操作符,則不會進行編譯。 – Jan

+0

您的語法在匿名類型聲明中關閉。 –