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
Бе баррасии навиштани нав, муқоиса санҷиш мекунад, ки оё тағйирёбандаҳо ба як объект ишора мекунанд.