为了账号安全,请及时绑定邮箱和手机立即绑定

使用linq从两个对象列表创建一个列表

使用linq从两个对象列表创建一个列表

C#
翻阅古今 2019-10-08 15:47:49
我有以下情况class Person{    string Name;    int Value;    int Change;}List<Person> list1;List<Person> list2;我需要将2个列表合并为一个新列表List<Person> ,以防合并记录具有该名称的同一个人,即list2中人员的值,更改将是list2的值-list1的值。如果没有重复,则更改为0
查看完整描述

3 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

这是林克


var mergedList = list1.Union(list2).ToList();

这是Normaly(AddRange)


var mergedList=new List<Person>();

mergeList.AddRange(list1);

mergeList.AddRange(list2);

这是常态(Foreach)


var mergedList=new List<Person>();


foreach(var item in list1)

{

    mergedList.Add(item);

}

foreach(var item in list2)

{

     mergedList.Add(item);

}

这是常态(Foreach-Dublice)


var mergedList=new List<Person>();


foreach(var item in list1)

{

    mergedList.Add(item);

}

foreach(var item in list2)

{

   if(!mergedList.Contains(item))

   {

     mergedList.Add(item);

   }

}


查看完整回答
反对 回复 2019-10-08
  • 3 回答
  • 0 关注
  • 452 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信