Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 3125|Отговор: 1

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

[Копирай линк]
Публикувано в 12.08.2023 г. 19:41:38 ч. | | | |
Изисквания: Ако обектите в колекцията са еднакви, въпреки че всички полета са еднакви, персонализираният компаратор е основно решенDistinct、Except、IntersectТова изисква внедряването на интерфейса IEqualityComparer за оценка на равенството на два обекта.

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

За низовете също не искаме да сме чувствителни към регистри, персонализираният компаратор IEqualityComparer е следният:

Резултатите са следните:



Съществува и scheme обект, който е директно реализиранIEquatable<T> interface, пренапишете методите Equals и GetHashCode, кодът е следният:

Резултатите са следните:



(Край)




Предишен:SQL Server намира данните, които varchar конвертира в bigint грешка
Следващ:Използвайте PowerShell за генериране на елемента &lt;machineKey&gt;
 Хазяин| Публикувано в 2.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