Q: C# Arraylist removing paired duplicate values Removing copies from Arraylist based on pairing: 
If you start with: 
"Rock" "is" "WWE" "Superstar" "How" "is" "pet" "Rock" "is" "WWE" "Superstar" "How" "is" "pet" 

Then output should be: 
"Rock" "is" "WWE" "Superstar" "How" "is" "pet" 

Only one copy removing other matching pair duplicate.

A: use linq Linq.Distinct().ToArray()

A: Essentially, this will remove every second occurrence of each string (which is, I believe, what you need):
string[] input = new string[]
{
    "Rock", "is", "WWE", "Superstar", "Rock", "is", "WWE", "Superstar", "How", "is", "pet", "How", "is", "pet" 
};

input.GroupBy(x => x)
     .SelectMany(x => x.Skip(x.Count() / 2))
     .ToList().ForEach(Console.WriteLine);

