博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用Linq对集合元素合并、去重复处理
阅读量:6581 次
发布时间:2019-06-24

本文共 1401 字,大约阅读时间需要 4 分钟。

今晚看了一篇前辈写的linq对集合元素合并去重复处理,觉得有点麻烦,原文地址如下:

 

于是我自己琢磨利用linq的分组函数,重新写了一个方法,代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication4{class Program{static void Main(){  List
listProduct = new List
{ new Product{StockNum=1,ProductNo="01",Tag="a"}, new Product{StockNum=2,ProductNo="01",Tag="b"}, new Product{StockNum=3,ProductNo="02",Tag="c"}, new Product{StockNum=4,ProductNo="02",Tag="d"}, new Product{StockNum=5,ProductNo="03",Tag="e"}, }; List
listProduct2 = new List
(); var group = listProduct.GroupBy(p=>p.ProductNo); foreach (IGrouping
groupSequence in group) { Product p2= new Product { ProductNo=groupSequence.First().ProductNo, StockNum=groupSequence.Sum(p=>p.StockNum) , Tag=string.Join(",",groupSequence.Select(t => t.Tag).ToArray()) }; listProduct2.Add(p2); }//输出验证listProduct2.ForEach(c =>{ Console.WriteLine("ProductNo={0},StockNum={1},Tag={2}", c.ProductNo, c.StockNum, c.Tag);});Console.Read();}}///
/// 产品实体类/// class Product{///
/// 库存/// public int StockNum { set; get; }///
/// 产品编号/// public String ProductNo { set; get; }///
/// 附属标签/// public String Tag { set; get; }}}  

 

转载于:https://www.cnblogs.com/527289276qq/p/4320997.html

你可能感兴趣的文章
UISegmentedControl 分段控制器 详解
查看>>
git 学习笔记
查看>>
循环链表,约瑟夫环问题
查看>>
Spring事务管理2----编程式事务管理
查看>>
vsCode怎么为一个前端项目配置ts的运行环境
查看>>
优化Web中的性能
查看>>
【SAP BusinessObjects】WEBI中的动态求和,累加函数的使用
查看>>
python3 CERTIFICATE_VERIFY_FAILED错误 certificate verify failed
查看>>
微软职位内部推荐-Senior SDE
查看>>
unity 人工智能AI,装备解锁临时笔记
查看>>
OOP 2.2 构造函数
查看>>
矩阵的坐标变换(转)
查看>>
Tomcat 服务器性能优化
查看>>
【框架学习】ibatis DAO框架分析
查看>>
Android Design Support Library使用详解
查看>>
Java历程-初学篇 Day03扫描仪与类型转换
查看>>
2017.10.26 ECN + product spec+ cypress ble module test+
查看>>
L92
查看>>
分享几个cocos2dx的小游戏
查看>>
简单几何(凸包) POJ 2187 Beauty Contest
查看>>