Build List from unshared items from two other Lists
The operation is called the symmetric difference of List1 and List2.  You can write

return list1.Except(list2).Union(list2.Except(list1)).ToList&lt;string&gt;();