C#Linq操作常用方法语句汇总

1 篇文章 0 订阅
这篇博客介绍了如何使用C#从DataTable或list中获取时间序列的气温数据,通过降序排列获取最高气温及其出现时间,并将两个查询结果通过站号字段进行合并。最后,将处理后的数据插入到新的DataTable对象中。
摘要由CSDN通过智能技术生成

1、从DataTable或者list等对象中获取一组时间序列的气温及出现时间

//通过设置降序,然后取第一行
var query= from n in dtResult.AsEnumerable()
    where n.Field<decimal?>("气温").ToString().Length > 0 && n.Field<decimal?>("气温") != 999999
    group n by n.Field<string>("站号") into g
    select g.OrderByDescending(x => x.Field<decimal?>("气温")).FirstOrDefault();

2、将query1、query2两个结果,通过连接字段合并

var query = from a in query1
            join b in query2
            on a.Field<string>("站号") equals b.Field<string>("站号")
            select new
            {
                 站号 = a.Field<string>("站号"),
                 站名 = a.Field<string>("站名"),
                 气温 = a.Field<decimal?>("气温"),
                 最高气温出现时间 = a.Field<string>("气温出现时间").PadLeft(4, '0'),
            };

3、将query结果放到DataTable对象中

query.ToList().ForEach(p => dt.Rows.Add(p.Value1, p.Value2,p.Value3,p.Value4....));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆意飞扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值