Let's go

Compute和Linq的Field使用

目录:

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));

 

posted @   chenze  阅读(319)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
有事您Q我
点击右上角即可分享
微信分享提示