2009-02-15 40 views
26

Tôi chỉ mới bắt đầu đọc trên LINQ và tôi muốn bắt đầu kết hợp nó vào mã của tôi. Tôi biết làm thế nào để tính toán tổng của một cột DataTable bằng cách "Foreach" -ing thông qua các hàng hoặc bằng cách làm một compute.sum trên cột cụ thể. Làm thế nào để làm tương đương với LINQ to DataSet?Làm thế nào để tính tổng của một cột DataTable trong LINQ (để Dataset)?

Trả lời

65

Nếu không định kiểu (thay thế int với kiểu dữ liệu chính xác):

var sum = table.AsEnumerable().Sum(x=>x.Field<int>(3)); 

hay:

var sum = table.AsEnumerable().Sum(x=>x.Field<int>("SomeProperty")); 

Nếu gõ:

var sum = table.Sum(x=>x.SomeProperty); 
+0

Điều đó đã làm các trick. Cảm ơn bạn rất nhiều –

+2

Lưu ý rằng bạn cần có System.Data.DataSetExtensions Assembly để làm việc trên. – kervin

+1

@kervin: Ngoài ra, bạn cần phải chắc chắn rằng đây là trên đầu trang của tập tin mã của bạn: 'using System.Linq;' – JohnB

Các vấn đề liên quan