Ссылка - это, в основном, 32-разрядное целое число, которое указывает на место в куче, где хранится объект, поэтому ReferenceEquals может просто сравнить два целых значения и проверить, совпадают ли они.
Обратите внимание на типы значений, ReferenceEqual ВСЕГДА потерпит неудачу! ValueType переопределяет виртуальный метод Object.Equals для сравнения всех переменных-членов в производном типе, а не в справочнике.
Без знания имен и типов среды выполненияПеременные-члены, реализация по умолчанию ValueType.Equals опирается на использование отражения и отражения, как мы все знаем, медленно.Как общее практическое правило, рекомендуется ВСЕГДА переопределять метод ValueType.Equals при создании своего пользовательского типа значения, и вам следует настоятельно рекомендовать перегрузить операторы == и! =, Пока вы на нем! *