Интерфейс IEquatable

IEquatable относиться к обобщенные интерфейсы. Этот интерфейс указываются по аналогии обобщенным классам.

Иногда нам необходимо сравнивать два экземпляра типа, допустим у нас есть класс Car с одинаковыми параметрами, цвета и марки автомобиля. Как в таком случаи найти 2 аналогичный автомобиля из списка? Для решения данной задачи могли бы просто переопределить Equals или оператор ==. Но это привело бы к замедлению работы программы, из за излишней упаковки значимых типов.

Для этих целей был придуман новый интерфейс IEquatable, позволяющий сравнить два значения без приведения типов и их проверки не прибегая к упаковке.

Пример 1. С реализацией IEquatable

 

Пример 2 без реализации интерфейса

 

Таким образом с появлением обобщенных классов, появились и другие методы сравнения типов с помощью интерфейса IEquatable, позволяющий ускорить работу программы при сравнении, не прибегая к упаковки, распаковке.

Обновлено: 07.04.2020 — 10:07

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.