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

调试

集合数据:

展示数据:

相关推荐
iPadiPhone几秒前
性能之基:Java IO 体系深度解析、面试陷阱与实战指南
java·开发语言·后端·面试
于先生吖2 分钟前
前后端分离开发 Java 跑腿系统:用户 + 骑手 + 后台三端实战
java·开发语言
野犬寒鸦2 分钟前
从零起步学习JVM|| 第二章:JVM基本组成及JVM内存区域详解
服务器·开发语言·后端·学习·面试·职场和发展
2401_891482174 分钟前
C++中的原型模式
开发语言·c++·算法
史蒂芬_丁7 分钟前
C++静态变量管理实例
开发语言·c++
木子欢儿8 分钟前
在 Debian 12 上安装多个版本的 php(7.3、7.4、8.1、8.2)
运维·开发语言·debian·php
2301_795741798 分钟前
C++中的代理模式变体
开发语言·c++·算法
hnlgzb8 分钟前
Gemini:kotlin这几个类型有什么区别?类比java的文件,是怎样的?
java·开发语言·kotlin
SunnyDays10119 分钟前
如何使用 C# 在 Word 文档中插入超链接 (含文本与图片链接)
开发语言·c#
2301_789015629 分钟前
封装RBTree(红黑树)实现myset和mymap
开发语言·数据结构·c++·算法·r-tree