I’m using .NET 3.5. I have two string arrays, which may share one or more values:
string[] list1 = new string[] { 'apple', 'orange', 'banana' }; string[] list2 = new string[] { 'banana', 'pear', 'grape' };
I’d like a way to merge them into one array with no duplicate values:
{ 'apple', 'orange', 'banana', 'pear', 'grape' }
I can do this with LINQ:
string[] result = list1.Concat(list2).Distinct().ToArray();
but I imagine that’s not very efficient for large arrays.
Is there a better way?
from msdn: ‘This method excludes duplicates from the return set. This is different behavior to the Concat(TSource) method, which returns all the elements in the input sequences including duplicates.’