IEquatable<T> Arabirim
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir değer türünün veya sınıfın, örneklerin eşitliğini belirlemek için türe özgü bir yöntem oluşturmak için uyguladığı genelleştirilmiş bir yöntemi tanımlar.
generic <typename T>
public interface class IEquatable
public interface IEquatable<T>
type IEquatable<'T> = interface
Public Interface IEquatable(Of T)
Tür Parametreleri
- T
Karşılaştıracak nesne türü.
- Türetilmiş
Örnekler
Yöntemin örneğine IEquatable<T>.Equals bakın.
Açıklamalar
Bu arabirim, değerleri eşitlenebilen türler (örneğin, sayısal ve dize sınıfları) tarafından uygulanır. Değer türü veya sınıfı, örneklerin Equals eşitliğini belirlemek için uygun türe özgü bir yöntem oluşturmak için yöntemini uygular.
Not
IComparable<T> arabirimi, uygulama türünün örneklerinin sıralama düzenini belirleyen yöntemini tanımlarCompareTo. IEquatable<T> arabirimi, uygulama türünün örneklerinin eşitliğini belirleyen yöntemini tanımlarEquals.
ArabirimIEquatable<T>, , List<T>LinkedList<T> ve gibi yöntemlerde eşitlik testi yaparken , ve gibi LastIndexOf
Dictionary<TKey,TValue>Contains
IndexOf
Remove
genel koleksiyon nesneleri tarafından kullanılır. Genel bir koleksiyonda depolanmış olabilecek herhangi bir nesne için uygulanmalıdır.
Uygulayanlara Notlar
Arabirimin type parametresini IEquatable<T> bu arabirimi uygulayan türle değiştirin.
uygularsanız IEquatable<T>, ve temel sınıf uygulamalarını Equals(Object)GetHashCode() da geçersiz kılmalısınız, böylece davranışları yönteminkiyle Equals(T) tutarlı olur. geçersiz kılarsanız Equals(Object), geçersiz kılınan uygulamanız sınıfınızdaki statik Equals(System.Object, System.Object)
yönteme yapılan çağrılarda da çağrılır. Ayrıca ve op_Inequality
işleçlerini op_Equality
aşırı yüklemelisiniz. Bu, eşitlik için tüm testlerin tutarlı sonuçlar döndürmesini sağlar.
geçersiz kılma Equals(Object)hakkında bilgi için bkz Equals(Object). .
Bir değer türü için her zaman daha iyi performans için uygulamalı IEquatable<T> ve geçersiz kılmalısınız Equals(Object) . Equals(Object) kutular değer türleri ve eşitlik için iki değeri karşılaştırmak için yansımaya dayanır. Hem uygulamanızın Equals(T) hem de geçersiz kılmanızın Equals(Object) tutarlı sonuçlar döndürmesi gerekir.
uygularsanız IEquatable<T>, türünüzün örneklerinin sıralanabilir veya sıralanabilir olup olmadığını da uygulamanız IComparable<T> gerekir. Türünüz uygularsa IComparable<T>, neredeyse her zaman da uygularsınız IEquatable<T>.
Bir türün sipariş ilişkisini desteklediği ancak eşitliğin bir sipariş ilişkisinden farklı olabileceği bazı tasarımlar olduğunu unutmayın. Alfabetik olarak sıraladığınız bir Person
sınıfı düşünün. Aynı ada sahip iki kişi aynı şekilde sıralanır ancak aynı kişi değildir.
Yöntemler
Equals(T) |
Geçerli nesnenin aynı türdeki başka bir nesneye eşit olup olmadığını gösterir. |
Şunlara uygulanır
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin