要将第一个集合中的数据与第二个集合中的数据匹配相减,可以使用LINQ的Join方法将两个集合按照相同的编号进行匹配,然后再通过Select方法进行相减操作。\n\n示例代码如下:\n\ncsharp\nvar result = detailsList\n .GroupBy(d => d.Number)\n .Select(g => new InBoundDetail { Number = g.Key, MyProperty = g.Sum(d => d.MyProperty) })\n .DistinctBy(d => d.Number)\n .ToList();\n\nvar getdel = getdellist\n .GroupBy(d => d.Number)\n .Select(g => new InBoundDetail { Number = g.Key, MyProperty = g.Sum(d => d.MyProperty) })\n .DistinctBy(d => d.Number)\n .ToList();\n\nvar matchedResult = result\n .Join(getdel, r => r.Number, g => g.Number, (r, g) => new InBoundDetail { Number = r.Number, MyProperty = r.MyProperty - g.MyProperty })\n .ToList();\n\n\n在上述代码中,使用Join方法将result和getdel两个集合按照Number进行匹配,然后通过Select方法计算相减的结果。最后将结果保存在matchedResult中。

C# LINQ 匹配两个集合并相减:高效数据处理技巧

原文地址: https://www.cveoy.top/t/topic/qae7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录