Sobes.tech
Junior — Middle

Чӣ гуна муқоиса кардани объектҳои навъи истинод сурат мегирад, агар усулҳои муқоисаии худӣ татбиқ нашуда бошанд?

sobes.tech AI

Ҷавоб аз AI

Агар дар C# барои навъҳои истинодӣ усулҳои муқоисаии худро татбиқ накарда бошанд (масалан, агар усулҳои Equals ва GetHashCode баргардонида нашаванд), муқоисаи объектҳо ба таври пешфарз тавассути истинод анҷом дода мешавад. Ин маънои онро дорад, ки ду объект танҳо дар он сурат баробар ҳисобида мешаванд, агар ба як намунаи дар ёддошт ишора кунанд.

Масалан:

class Person {}

var p1 = new Person();
var p2 = new Person();

bool areEqual = p1.Equals(p2); // false, чунки объектҳои гуногун
bool areSame = Object.ReferenceEquals(p1, p2); // false

var p3 = p1;
bool areSame2 = Object.ReferenceEquals(p1, p3); // true

Бе баррасии навиштани нав, муқоиса санҷиш мекунад, ки оё тағйирёбандаҳо ба як объект ишора мекунанд.