-1

I have 2 listitems

  1. First

    {Id = 1, Name = "a"}{Id = 2, Name = "b"}{Id = 3, Name = "c"}
    
  2. Second

    {Id = 2, Name = "b"}{Id = 3, Name = "c"}{Id = 4, Name = "d"}
    

how to merge them and get a listitem like:

{Id = 1, Name = "a"}{Id = 2, Name = "b"}{Id = 3, Name = "c"}{Id = 4, Name = "d"}
John Saunders
  • 160,644
  • 26
  • 247
  • 397
Nguyễn Hoàng
  • 179
  • 1
  • 11

3 Answers3

0

Something like this ?

class items {
             public  int id;
             public string name;
            }

static void Main(string[] args)
        {
            var list = new List<items>();
            list.Add(new items {id=1 , name="a"});
            list.Add(new items { id = 2, name = "b" });
            list.Add(new items { id = 3, name = "c" });

            var list1 = new List<items>();
            list1.Add(new items { id = 2, name = "b" });
            list1.Add(new items { id = 3, name = "c" });
            list1.Add(new items { id = 4, name = "d" });

            var c = list.Select(b=> new {b.id, b.name});
            var d = list1.Select(b => new { b.id, b.name });
            var merge = c.Concat(d).Distinct().ToList();

            foreach (var item in merge)
            {
                Console.WriteLine(item);
            }

           Console.ReadKey();
     }
siddhipur
  • 121
  • 1
  • 13
0
var list1 = new[]{new {Id = 1, Name = "a"},new {Id = 2, Name = "b"}, new{Id = 3, Name = "c"}}.ToList();
var list2 = new[]{new {Id = 1, Name = "a"},new {Id = 2, Name = "b"}, new{Id = 3, Name = "c"}}.ToList();

list1.AddRange(list2);

Then list1 is the merged list.

0

You can use the "AddRange" or "Union" or "Concat" functions of c#

e.g

var list1 = new[]{new {Id = 1, Name = "a"},new {Id = 2, Name = "b"}, new{Id = 3, Name = "c"}}.ToList();

var list2 = new[]{new {Id = 1, Name = "a"},new {Id = 2, Name = "b"}, new{Id = 3, Name = "c"}}.ToList();

then

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

or

  var MergedResult = list1.AddRange(list2).ToList();

also you can use Concat as well...

see the difference amongst them here .NET List Concat vs AddRange

Community
  • 1
  • 1
Jigar Pandya
  • 6,004
  • 2
  • 27
  • 45