Junior — Middle
Kendi karşılaştırma yöntemleri uygulanmamışsa, referans tipi nesnelerin karşılaştırması nasıl yapılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
C# dilinde referans tipi için özel karşılaştırma metodları uygulanmamışsa (örneğin, Equals ve GetHashCode metodları geçersiz kılınmamışsa), nesne karşılaştırması varsayılan olarak referans üzerinden yapılır. Bu, iki nesnenin yalnızca aynı bellek örneğine işaret ediyorsa eşit kabul edileceği anlamına gelir.
Örnek:
class Person {}
var p1 = new Person();
var p2 = new Person();
bool areEqual = p1.Equals(p2); // false, çünkü farklı nesneler
bool areSame = Object.ReferenceEquals(p1, p2); // false
var p3 = p1;
bool areSame2 = Object.ReferenceEquals(p1, p3); // true
Bu nedenle, geçersiz kılınmadıkça, karşılaştırma değişkenlerin aynı nesneye referans edip etmediğini kontrol eder.