恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

C#根据集合的某些字段进行汇总,并计算部分字段的总数的思路

  • 首页
  • 资讯中心
  • /
  • C#根据集合的某些字段进行汇总,并计算部分字段的总数的思路

相关资讯

C# IEnumerable<T>转换成DataTable 2026/9/2 12:33:08
电商向量化推荐系统:从原理到实践的技术落地指南 2026/9/2 12:33:08
OCRmyPDF 批量OCR指南:一个脚本处理整个文件夹的扫描PDF 2026/9/2 12:33:08

最新资讯

Windows 版 Czkawka 视频查重:从零安装到清掉重复视频的完整教程
Windows 11 界面还原指南:ExplorerPatcher 安装与配置教程
OCRmyPDF 批量处理实战:用 Python 脚本给扫描 PDF 批量添加可搜索文本层
传染病模型SI、SIS、SIR核心原理与MATLAB实现指南
Java+SpringBoot+WMS系统实战:构建高确定性仓储管理系统
5分钟跑通 ntfy 部署:Docker、云服务器、本地源码三条路径实战指南

今日推荐

DeepSeek字幕翻译实战:从API调用到批量SRT转中文的完整方案
用Python搭建搞笑语音助手:从语音识别到语音合成全教程
ROS2阿克曼底盘仿真:从运动学原理到Nav2导航集成实践

本周热门

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析
数字电路时序基石:深入理解建立时间与保持时间
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

C#根据集合的某些字段进行汇总,并计算部分字段的总数的思路

发布时间:2026/9/2 12:33:08
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

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号