[c#] Best way to compare two complex objects