I am using C# record
s in a HashSet to enforce uniqueness. This works well, but as soon as the record contains a Collection then it stops working.
ie. this passes:
public record Person
{
public string FirstName { get; set; }
}
HashSet<Person> uniquePeople = new();
uniquePeople.Add(new Person { FirstName = "John" });
uniquePeople.Add(new Person { FirstName = "John" });
Assert.That(uniquePeople.Count() == 1);
But this fails:
public record Person
{
public string FirstName { get; set; }
public HashSet<int> FavouriteNumbers { get; set; } = new();
}
HashSet<Person> uniquePeople = new();
uniquePeople.Add(new Person { FirstName = "John" });
uniquePeople.Add(new Person { FirstName = "John" });
Assert.That(uniquePeople.Count() == 1);
How can I enforce uniqueness on nested collections using records?
2