using System.Collections.Generic;
public static void Main()
var set1 = new HashSet<Tuple<string, string>>() {
new Tuple<string, string>( "John", "Doe" ),
new Tuple<string, string>( "Jane", "Doe" ),
new Tuple<string, string>( "George", "Washington" ),
new Tuple<string, string>( "John", "Adam" ),
new Tuple<string, string>( "Benjamin", "Franklin" ),
var set2 = new HashSet<Tuple<string, string>>() {
new Tuple<string, string>( "George", "Washington" ),
new Tuple<string, string>( "John", "Adam" ),
new Tuple<string, string>( "Benjamin", "Franklin" ),
new Tuple<string, string>( "Donald", "Duck" ),
new Tuple<string, string>( "Mickey", "Mouse" ),
var uncommon = set1.Except(set2).Union(set2.Except(set1));
foreach(var u in uncommon) {
Console.WriteLine("{0} {1}", u.Item1, u.Item2);