C#之linq和lamda表达式GroupBy分组拼接字符串

文章目录

C#之linq和lamda表达式GroupBy分组拼接字符串

业务需求

点击提示信息,如:"售后单【SH001】序列号【001,002,006】;售后单【SH002】序列号【003,007,009】。已经过了质保期,确认要继续关闭吗"

核心代码

csharp 复制代码
 //lamda表达式
 var errorMsgObj = getNoPay.GroupBy(s => s["FBILLNO"] + "")
                            .Select(d=>new { 
                                BillNo=d.Key,
                                NumberList=string.Join(",",d.Select(f=>f["FNUMBER"]+""))
                            }).ToList();


//Linq
var resultMsg = (from item in getNoPay
                    group item by item["FBILLNO"] into g
                    let numbers = g.Select(b => b["FNUMBER"]).ToArray()
                    select new
                    {
                        BillNo = g.Key,
                        NumberList = string.Join(",", numbers)
                    }).ToList();

调试

集合数据:

展示数据:

相关推荐
花归去1 分钟前
echarts 柱状图包含右侧进度
开发语言·前端·javascript
wjs20242 分钟前
Java 数组
开发语言
码农水水3 分钟前
大疆Java面试被问:TCC事务的悬挂、空回滚问题解决方案
java·开发语言·人工智能·面试·职场和发展·单元测试·php
qq_2518364578 分钟前
基于java Web 个人网站系统设计与实现
java·开发语言·数据库
Eternity∞20 分钟前
基于Linux系统vim编译器情况下的C语言学习
linux·c语言·开发语言·学习·vim
周末吃鱼20 分钟前
Lambda作用域
java·开发语言
故事不长丨38 分钟前
C#进制转换:从基础原理到实战应用
开发语言·c#·进制转换·16进制·2进制·10进制
无言(* ̄(エ) ̄)40 分钟前
进程---Linux/C语言
java·开发语言·算法
liulilittle43 分钟前
VEthernet 框架实现 tun2socks 的技术原理
网络·windows·c#·信息与通信·通信
浪客川1 小时前
【百例RUST - 005】所有权和切片
开发语言·后端·rust