Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 3125|Ответ: 1

[Источник] .NET/C# реализует пользовательский компаратор IEqualityComparer

[Скопировать ссылку]
Опубликовано 12.08.2023 19:41:38 | | | |
Требования: Если объекты в коллекции одинаковы, хотя все поля одинаковы, пользовательский компаратор в целом решаетсяDistinct、Except、IntersectДля оценки равенства двух объектов требуется реализация интерфейса IEqualityComparer.

Компаратор IEqualityComparer по умолчанию вызывает метод GetHashCode, а затем вызывает метод Equals для сравнения, если оба объекта равны GetHashCode.

Для строк, которые мы также не хотим быть чувствительными к регистру, пользовательский компаратор IEqualityComparer выглядит следующим образом:

Результаты следующие:



Также существует объект схемы, который реализуется напрямуюIEquatable<T> interface, переписать методы Equals и GetHashCode, код выглядит следующим образом:

Результаты следующие:



(Конец)




Предыдущий:SQL Server находит данные, которые varchar преобразует в ошибку bigint
Следующий:Используйте PowerShell для генерации элемента &lt;machineKey&gt;
 Хозяин| Опубликовано 02.10.2023 9:26:37 |
.NET/C# новый тип записи функций
https://www.itsvse.com/thread-10673-1-1.html
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com