Compute和Linq的Field使用

本文详细介绍了在数据处理中如何使用Compute方法进行数据汇总及Field方法来获取特定列的数据,并通过具体示例展示了两种方法的实际应用,对于理解及运用LINQ进行数据筛选具有较高的参考价值。

目录:

1.Compute

案例:

 1 private void ComputeBySalesSalesID(DataSet dataSet)
 2 {
 3     // Presumes a DataTable named "Orders" that has a column named "Total."
 4     DataTable table;
 5     table = dataSet.Tables["Orders"];
 6 
 7     // Declare an object variable.
 8     object sumObject;
 9     sumObject = table.Compute("Sum(Total)", "EmpID = 5");
10 }
1  DataTable dt = null;
2 dt=...  
3 decimal money = Convert.ToDecimal(dt.Compute("Sum(money)", "true"));

 

2.Field的使用(根据dt获取每个列的数据)

案例:

 1 // Fill the DataSet.
 2 DataSet ds = new DataSet();
 3 ds.Locale = CultureInfo.InvariantCulture;
 4 FillDataSet(ds);
 5 
 6 DataTable products = ds.Tables["Product"];
 7 
 8 var query =
 9     from product in products.AsEnumerable()
10     where product.Field<string>("Color") == "Red"
11     select new
12     {
13         Name = product.Field<string>("Name"),
14         ProductNumber = product.Field<string>("ProductNumber"),
15         ListPrice = product.Field<Decimal>("ListPrice")
16     };
17 
18 foreach (var product in query)
19 {
20     Console.WriteLine("Name: {0}", product.Name);
21     Console.WriteLine("Product number: {0}", product.ProductNumber);
22     Console.WriteLine("List price: ${0}", product.ListPrice);
23     Console.WriteLine("");
24 }

结合linq语句

 decimal money = dt.AsEnumerable().Sum(t => Math.Round((t.Field<Decimal>("money")) / 10000, 2));

 

转载于:https://www.cnblogs.com/chenze-Index/p/9327679.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值