Сравнение записей по содержимому в C#
У записи сравнение по умолчанию смысловое: учитываются все компоненты в объявлении. Отдельно настраивать сравнение для типичной позиционной записи обычно не нужно.
Запишем две точки с одинаковыми координатами и сравним их:
var a = new Point(1, 2);
var b = new Point(1, 2);
Console.WriteLine(a == b);
Console.WriteLine(a.Equals(b));
record Point(int X, int Y);
Оба вывода показывают True. Если изменить
хотя бы один компонент, равенство пропадает:
var p1 = new Point(1, 2);
var p2 = new Point(1, 3);
Console.WriteLine(p1 != p2);
Сделайте запись Version с компонентами
Major и Minor.
Создайте две версии 2.1
разными объектами и выведите, считает ли
среда их равными.
Положите два равных Version
в набор уникальных значений и выведите,
сколько элементов там осталось.