Сравнение выполняется с использованием EqualityComparer<T>.Default
.
EqualityComparer<T>.Default
вернет реализацию по умолчанию, если она существует ... в противном случае она использует реализацию, основанную на Object.Equals()
, которая, как я предполагаю, используется в вашем случае.
Если вы не переопределите Equals()
или не внедрили IEquatable<T>
, Object.Equals()
будет проверять только на равенство ссылок.