Eşitlik İşleçleri

Not

Bu içerik, Çerçeve Tasarım Yönergeleri: Kurallar, Deyimler ve Yeniden Kullanılabilir .NET Kitaplıkları için Desenler, 2. Sürüm'den Pearson Education, Inc.'in izniyle yeniden yazdırılır. Bu baskı 2008'de yayımlandı ve kitap o zamandan beri üçüncü baskıda tamamen revize edilmiştir. Bu sayfadaki bazı bilgiler güncel olmayabilir.

Bu bölümde eşitlik işleçlerinin aşırı yüklenmesi ele alınmaktadır ve eşitlik işleçleri operator== olarak ifade operator!= eder.

❌ Diğerini değil, eşitlik işleçlerinden birini aşırı YÜKLEMEYİN.

✔️ VE eşitlik işleçlerinin tam olarak aynı semantik ve benzer performans özelliklerine sahip olduğundan emin olun Object.Equals .

Bu genellikle eşitlik işleçleri aşırı yüklendiğinde geçersiz kılınması gerektiği anlamına gelir Object.Equals .

❌ Eşitlik işleçlerinden özel durumlar oluşturmaKTAN KAÇıNıN.

Örneğin, bağımsız değişkenlerden biri oluşturma yerine null olduğunda false döndürebilirsiniz NullReferenceException.

Değer Türlerinde Eşitlik İşleçleri

✔️ DO, eşitlik anlamlıysa değer türlerinde eşitlik işleçlerini aşırı yükler.

Çoğu programlama dilinde, değer türleri için varsayılan uygulaması operator== yoktur.

Başvuru Türlerinde Eşitlik İşleçleri

❌ Eşitlik işleçlerini değiştirilebilir başvuru türlerinde aşırı yüklemeKTEN KAÇıNıN.

Birçok dilde başvuru türleri için yerleşik eşitlik işleçleri vardır. Yerleşik işleçler genellikle başvuru eşitliğini uygular ve varsayılan davranış değer eşitliğine değiştirildiğinde birçok geliştirici şaşırır.

Sabit başvuru türleri için bu sorun giderilir çünkü değişmezlik, başvuru eşitliği ile değer eşitliği arasındaki farkı fark etmede çok daha zor hale getirir.

❌ Uygulama, başvuru eşitliğinden önemli ölçüde daha yavaş olacaksa, başvuru türlerinde eşitlik işleçlerini aşırı yüklemekten KAÇıNıN.

Porsiyonlar © 2005, 2009 Microsoft Corporation. Tüm hakları saklıdır.

Pearson Education, Inc. in Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraryes, 2nd Edition by Krzysztof Cwalina and Brad Abrams izniyle yeniden yazdırıldı ve 22 Ekim 2008'de Addison-Wesley Professional tarafından Microsoft Windows Geliştirme Serisi'nin bir parçası olarak yayımlandı.

Ayrıca bkz.