PROWAREtech
.NET: Join/Merge Two List, Array or Enumerable (IEnumerable) Objects
How to combine Lists, Arrays or Enumerables and, optionally, make them unique or distinct using C#.
.NET makes combining Arrays, Lists or Enumerables easy. Use either AddRange()
or Concat()
to merge, then use Distinct()
to make Enumerables with unique values.
See the notes in the code for more information.
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var list = new List<int>() { 1, 2, 3 };
var array = new int[] { 3, 4, 5 };
list.AddRange(array); // NOTE: Use AddRange(); an Array is not required - this can also be another Enumerable such as a List
foreach (var i in list)
{
Console.WriteLine(i);
}
Console.WriteLine();
var list2 = new List<int>() { 5, 6, 7 };
IEnumerable<int> combined = list.Concat(list2); // NOTE: Use Concat() which requires System.Linq and so returns an IEnumerable which can be converted to a List or Array using ToList() and ToArray() methods, respectively
foreach (var i in combined)
{
Console.WriteLine(i);
}
Console.WriteLine();
IEnumerable<int> distinct = combined.Distinct(); // NOTE: If wanting to make the list of values unique or distinct, use Distinct() which requires System.Linq
foreach (var i in distinct)
{
Console.WriteLine(i);
}
}
}
}
The output looks like this:
1 2 3 3 4 5 1 2 3 3 4 5 5 6 7 1 2 3 4 5 6 7
Comment