Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 3125|Yanıt: 1

[Kaynak] .NET/C#, IEqualityComparer özel karşılaştırıcısını uygular

[Bağlantıyı kopyala]
Yayınlandı 12.08.2023 19:41:38 | | | |
Gereksinimler: Koleksiyondaki nesneler tüm alanlar aynı olmasına rağmen aynıysa, özel karşılaştırıcı esas olarak çözülürDistinct、Except、IntersectBu, iki nesnenin eşitliğini değerlendirmek için IEqualityComparer arayüzünün uygulanmasını gerektirir.

IEqualityComparer karşılaştırıcısı varsayılan olarak GetHashCode yöntemini çağırır ve ardından iki nesne GetHashCode'a eşitse karşılaştırmak için Equals metodunu çağırır.

Dizilerle ilgili olarak da büyük harf duyarlı olmak istemiyoruz, özel IEqualityComparer karşılaştırıcısı şöyledir:

Sonuçlar şu şekildedir:



Ayrıca doğrudan uygulanan bir şema nesnesi de vardırIEquatable<T> interface, Equals ve GetHashCode metodlarını yeniden yazmakta olduğu için kod şöyledir:

Sonuçlar şu şekildedir:



(Son)




Önceki:SQL Server, varchar'ın bigint hatasına dönüştürdüğü verileri bulur
Önümüzdeki:PowerShell kullanarak &lt;machineKey&gt; öğesini oluşturabilirsiniz
 Ev sahibi| Yayınlandı 2.10.2023 09:26:37 |
.NET/C# yeni özellik kaydı türü
https://www.itsvse.com/thread-10673-1-1.html
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com