Вниз
Скачать: CL | DM;

Как можно сравнить два объекта?   Найти похожие ветки 

 
Кевларвестов Семен   (2007-02-22 12:32) [0]

Добрый день! В TObjectList грузится некторые объекты (одинаковые)
Можно ли как то сделать проверку, чтобы туда не попадали одинаковые.
(С одинаковыми свойствами), собственно, что не проверять каждый из параметров.
Думал сработает TobjectList.IndexOf(SomeObject), но она постоянно выдает -1. Может можно взять какую-нить так хэш функцию от объекта или еще как то их "быстро" сравнить?


 
TUser ©   (2007-02-22 14:09) [1]

Можно быстро проверить все published свойства.


 
Ega23 ©   (2007-02-22 14:13) [2]

Проверить значение указателя не объект. Если они отличаются - значит объекты УЖЕ разные.


 
Kolan ©   (2007-02-22 14:20) [3]

> В TObjectList грузится некторые объекты (одинаковые)

В некоторых объектах реализовать процедуру
function IsSame(AObjectLikeMe: TSomeObbject): Boolean;
и проверять при добавлении с помощью неё...

А еще можно перекрыть оператор "="


 
Kolan ©   (2007-02-22 14:20) [4]

> А еще можно перекрыть оператор "="

Наверно :) Я не пробовал...


 
default ©   (2007-02-22 14:21) [5]

в .NET у базового класса Object определён метод Equals который в своеё базовой реализации сравнивает сначала ссылки ссылки не объекты, потом типы объектов, потом уже данные



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.033 c
15-1171993923
TempFile
2007-02-20 20:52
2007.03.18
Кажется, я где то уже это видел...


2-1172510704
ezorcist
2007-02-26 20:25
2007.03.18
Незавершающееся консольное приложение.


2-1172649090
evgenij_
2007-02-28 10:51
2007.03.18
файл ресурса


15-1172191674
vasIZmax
2007-02-23 03:47
2007.03.18
О "миллионе долларов"...


6-1159994637
Wapo
2006-10-05 00:43
2007.03.18
Почему не работает INDY




   Наверх