c#获取多个List<class>合并、并将相同条件下的值累计sum
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
List<strudent> one = new List<strudent>();
one.Add(new strudent() { age = , name = "aaa" });
one.Add(new strudent() { age = , name = "bbb" });
one.Add(new strudent() { age = , name = "ddd" });
one.Add(new strudent() { age = , name = "fff" });
one.Add(new strudent() { age = , name = "ggg" });
one.Add(new strudent() { age = , name = "eee" });
List<strudent> two = new List<strudent>();
two.Add(new strudent() { age = , name = "aaa" });
two.Add(new strudent() { age = , name = "bbb" });
two.Add(new strudent() { age = , name = "ddd" });
two.Add(new strudent() { age = , name = "fff" });
two.Add(new strudent() { age = , name = "ggg" });
two.Add(new strudent() { age = , name = "eee" });
two.Add(new strudent() { age = , name = "aaaaa" });
var tt = one.Union(two).ToList();
var res = from p in tt
group p by new { p.name } into g
select new { name = g.Key.name, accp = g.Sum(p => p.age) }; tt.ForEach(x =>
{
Console.WriteLine(x.name + " " + x.age);
});
Console.ReadKey();
}
} public class strudent
{
public decimal age { get; set; }
public string name { get; set; }
}
public class StudentListEquality : IEqualityComparer<strudent>
{
public bool Equals(strudent x, strudent y)
{
return x.name == y.name;
}
public decimal sum(strudent x, strudent y)
{
if (x.name == y.name)
{
return x.age + y.age;
}
return ;
}
public int GetHashCode(strudent obj)
{
if (obj == null)
{
return ;
}
else
{
return obj.ToString().GetHashCode();
}
}
} }
c#获取多个List<class>合并、并将相同条件下的值累计sum的更多相关文章
- SQL获取刚插入的记录的自动增长列ID的值
假设表结构如下: CREATE TABLE TestTable ( id int identity, CreatedDate datetime ) SQL2005获得新增行的自动增长列的语句如下: i ...
- SELECT INTO和INSERT INTO SELECT的区别 类似aaa?a=1&b=2&c=3&d=4,如何将问号以后的数据变为键值对 C# 获取一定区间的随即数 0、1两个值除随机数以外的取值方法(0、1两个值被取值的概率相等) C# MD5 加密,解密 C#中DataTable删除多条数据
SELECT INTO和INSERT INTO SELECT的区别 数据库中的数据复制备份 SELECT INTO: 形式: SELECT value1,value2,value3 INTO Ta ...
- java中的getProperty()方法。获取系统中属性名为key的属性对应的值
总结:getProperty方法:获取系统中属性名为key的属性对应的值,系统中常见的属性名以及属性如下: 现在用getProperty()的方法,获取系统信息代码: package com.aaa; ...
- 强制获取序列下一个值/当前值(oracle函数)
原文链接--http://blog.csdn.net/qq525099302/article/details/47146393 为什么要使用函数来获取序列值请看这里 -- 创建获取序列下一个值的函数 ...
- Java删除word合并单元格时的重复值
Spire.Doc提供了Table.applyVerticalMerge()方法来垂直合并word文档里面的表格单元格,Table.applyHorizontalMerge()方法来水平合并表格单元格 ...
- git 获取线上代码并合并到本地
//查询当前远程的版本 $ git remote -v //获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch]) $ git fetch origin ...
- 获取两日期之前集合并转为String类型的集合
/** * 获取两个日期之间的日期 * * @param start 开始日期 * @param end 结束日期 * @return 日期集合 */ private static List<D ...
- Java中的合并与重组(下)
通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习. Java中的合并与重组上部分链接:https://www.cnblogs.com/youruike1/p ...
- C#获取EF实体对象或自定义属性类的字段名称和值
在年前上班的时候遇到了一个问题是这样描述的:我前台设计一个页面,是标签和文本框,当用户修改了哪个文本框的值,将该修改前的值.修改后的值,该值对应的字段,该值对应的行id获取到保存到数据库的某张表里.现 ...
随机推荐
- [AIR] AS3.0设置屏保功能
package com.controls { import flash.desktop.NativeApplication; import flash.events.Event; import fla ...
- [Java] 使用转换流来处理标准输入
package test.stream; import java.io.BufferedReader; import java.io.IOException; import java.io.Input ...
- Angularjs路由.让人激动的技术.真给前端长脸了.
先看文件的摆放 不废话,直接上代码. detail.html: <hr/> <h3>路由 <span style="color: red;">{ ...
- Dubbo 服务暴露注册流程
Dubbo的应用会在启动时完成服务注册或订阅(不论是生产者,还是消费者)如下图所示. 图中小方块Protocol, Cluster, Proxy, Service, Container, Regist ...
- 查看sql server数据库文件信息
--drop table #dbfiles --deallocate cursor1 ------ declare cursor1 cursor for SELECT name from sys.da ...
- c# WinForm加载焦点
1.c# WinForm在加载时把焦点设在按钮上 this.AcceptButton = button1; 这样在WinForm窗口中, 按钮的状态会变成窗口的默认按钮, 只要按下Enter键,就会触 ...
- Ant not found - Make sure it's in the path or use --with-ant-home
# pacman -S apache-ant 参考:http://blog.csdn.net/linshutao/article/details/6638116
- 《Code Complete》ch.11 变量名的力量
What? 如何给变量命名 Why? 易读(你三个月前的代码=别人的代码),易记,恰如其分 整齐的命名具有美感,强迫症患者居家旅行杀人放火之必备 How? 以问题为导向 好名字反映的是问题(what) ...
- HDU 4771 Stealing Harry Potter's Precious
Stealing Harry Potter's Precious Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 ...
- 关于MPEG2中的图像序列和图像组头GOP
图像序列 图像序列是由图像组构成的,是随机存取段落. sequence_header_code – The sequence_header_code is the bit string ‘000001 ...