尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
C#根据集合的某些字段进行汇总,并计算部分字段的总数的思路
测试数据商品名称货位名称数量预留数量商品1货位1201商品1货位1401商品1货位2201商品2货位2102商品2货位2402商品3货位3153商品3货位2143需求合并相同商品名称相同货位名称的数据并计算商品在某个货位的总数。总数需要减去商品的预留数量得出可用数量。代码准备测试数据/// summary/// 商品信息/// /summarypublicclassGoods{/// summary/// 商品名称/// /summarypublicstringGoodsName{get;set;}/// summary/// 货位名称/// /summarypublicstringLocationName{get;set;}/// summary/// 数量/// /summarypublicdecimalNum{get;set;}/// summary/// 预留数量/// /summarypublicdecimalMinNum{get;set;}}ListGoodsgoodsListnewListGoods{newGoods{GoodsName商品1,LocationName货位1,Num20,MinNum1},newGoods{GoodsName商品1,LocationName货位1,Num40,MinNum1},newGoods{GoodsName商品1,LocationName货位2,Num20,MinNum1},newGoods{GoodsName商品2,LocationName货位2,Num10,MinNum2},newGoods{GoodsName商品2,LocationName货位2,Num40,MinNum2},newGoods{GoodsName商品3,LocationName货位3,Num15,MinNum3},newGoods{GoodsName商品3,LocationName货位2,Num14,MinNum3},};使用GroupBy根据字段进行分组varglistgoodsList.GroupBy(xnew{x.GoodsName,x.LocationName}).Select(gnew{g.Key.GoodsName,g.Key.LocationName,g.FirstOrDefault().MinNum,TotalNumg.Where(aa.GoodsNameg.Key.GoodsNamea.LocationNameg.Key.LocationName).Sum(aa.Num),CanUseNum0m//商品的可用数量TotalNum - MinNum});将gList的类型转为DataTable命名为gDataTable然后遍历gDataTable.RowsDictionarystring,intdicnewDictionarystring,int();foreach(DataRowitemingDataTable.Rows){stringgoodsNameitem[GoodsName].ToString();stringlocalNameitem[LocationName].ToString();varcanNumgoodsList.FindAll(xx.GoodsNamegoodsNamex.LocationNamelocalName).Sum(xx.Num);//可用数量是对应单个商品的只减一次if(canNum-(decimal)item[MinNum]0){if(!dic.ContainsKey(goodsName)){dic.Add(goodsName,1);item[CanUseNum]canNum-(decimal)item[MinNum];}else{item[CanUseNum]canNum;item[MinNum]0;}}else{item[CanUseNum]canNum;}}得到的结果商品名称货位名称数量预留数量可用数量商品1货位160159商品1货位220020商品2货位250248商品3货位315312商品3货位214014
RELATED

相关推荐

C# IEnumerable<T>转换成DataTable

C# IEnumerable<T>转换成DataTable

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/8 14:13:39
电商向量化推荐系统:从原理到实践的技术落地指南

电商向量化推荐系统:从原理到实践的技术落地指南

1. 先搞清楚这个新AI到底想解决电商的什么问题看到“前Spotify员工”、“推荐AI”、“电商”这几个词,很多人第一反应可能是:这不就是把Spotify那套“猜你喜欢”搬到网上卖货吗?如果这么想,你可能低估了这件事的难度和真正的价值。…

📅 2026/9/17 15:43:20
OCRmyPDF 批量OCR指南:一个脚本处理整个文件夹的扫描PDF

OCRmyPDF 批量OCR指南:一个脚本处理整个文件夹的扫描PDF

OCRmyPDF 批量OCR指南:一个脚本处理整个文件夹的扫描PDF 【免费下载链接】OCRmyPDF OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched 项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF 一个文件夹里塞了几百…

📅 2026/10/6 19:24:42
MORE NEWS

更多资讯

📰

沈丘县考低压电工证怎么考,学历不高怕报不上名?网上查询是关键

沈丘县考低压电工证怎么考,学历不高怕报不上名?网上查询是关键 学历不高怕报不上名?沈丘县考低压电工证其实不难,关键是你得知道怎么查、怎么报、怎么考。很多人因为学历问题,误以为自己考不了低压电工证,其实不然,只要符合基本条件,都能报名考试。网…

📰

电工证ic卡办理流程全知道,电子证书怎么考才不白花钱

电工证ic卡办理流程全知道,电子证书怎么考才不白花钱 怕考不过白交培训费?你不是一个人。现在电工证ic卡办理流程越来越复杂,尤其是电子证书的推行,让很多新手和老手都摸不着头脑。别急,这篇文章帮你理清流程,避免踩坑,尤其是那些还在犹豫要不要报…

📰

高压电工证补贴要求官方报名入口在哪找

高压电工证补贴要求官方报名入口在哪找 你不是不想考证,而是找不到靠谱的报名入口。现在找工作,高压电工证几乎是门槛,没有证连面试机会都没有,更别说拿到offer。你肯定也在问: 高压电工证补贴要求 是怎样的? 官方报名入口…

📰

叉车驾驶证和电工证继续教育学时要求

外省考的电工证和叉车驾驶证能转过来吗 电子证书怎么用 之前考的证在外省能不能转过来?这个问题几乎每个从外地过来打工或者转岗的工人都问过,特别是像 叉车驾驶证和电工证…

📰

北京在哪办理电工证含金量高吗

北京在哪办理电工证含金量高吗 你是不是也担心, 不知道去哪报名怕被中介坑 ,还怕花了钱考个证没用?其实,北京办理电工证的流程并不复杂,关键是你要了解清楚流程、知道怎么避坑,以及这个证的 含金量 到底高不高。…

📰

新源高压电工证培训费多少钱良心建议别踩坑

新源高压电工证培训费多少钱良心建议别踩坑 实操考试心里没底怕挂科,新源高压电工证培训费是多少?是不是真的那么贵?作为在信阳从事房建工程的同行,我深知拿到高压电工证对咱们这类从业者来说有多重要。但很多人在报考前,心里总有个疙瘩:培训费贵不贵?…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬