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

调试

集合数据:

展示数据:

相关推荐
~|Bernard|7 分钟前
关于go语言中二维切片的append操作陷阱
开发语言·后端·golang
c++之路10 分钟前
C/C++ 全链路编译工具汇总
c语言·开发语言·c++
cici1587410 分钟前
C# LAS 点云读取与处理工具
stm32·单片机·c#
c2385611 分钟前
C++的IO流深入理解(下)
开发语言·c++
Cloud_Shy61812 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第四章 Item 27 - 29)
开发语言·人工智能·经验分享·python·学习方法
简简单单lym15 分钟前
WebRTC进阶--red+ulpfec深度解析3-FEC--冗余控制机制深度解析
开发语言·webrtc
凡人叶枫24 分钟前
Effective C++ 条款02:宁可以编译器替换预处理器
java·linux·c语言·开发语言·c++
OnlyEasyCode27 分钟前
C# 发送QQ邮箱验证码or其他
开发语言·c#