Question
Efficiently merge string arrays in .NET, keeping distinct values
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?