Здравствуйте, VladD2, Вы писали:
_FR>>Кажется, ни что не мешает выписать коллекции с нужным алгоритмом сравнения элементов и использовать в рекордах и туплах их и тогда будет "как нужно" вроде какой спец. поддержки от компилятора тут не требуется?
VD>В целом, да. Вот только в стандартных на это забили. Да и культура у дотнетных программистов явно не та, что показывает данная тема. Всем естественно противоестественное поведение.
Да тут совсем не в "культуре" дело, а в именно в том, что "в стандартных на это забили" и теперь уже есть то, что есть. И ломать это проблематично и люди просто не ожидают иного.
Решить это в целом вполне возможно:
Выписать `IEqualityComparer`-ы для коллекций (имеющихся) вместо новых коллекций.
Найти удобный способ связать компаратор с полем/свойством рекорда. Атрибут или приватное свойство с именем `<PropertyName>EqualityComparer` или что-то ещё или даже всё вместе.
Сделать Source Generator. который вместо дефолтового компаратора будет брать тот, что указан выше.
Возможно, найдя хорошее решение для второго пункта, можно предложить его разработчикам языка.