Вниз
Скачать: 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.029 c
2-1172507219
S46E
2007-02-26 19:26
2007.03.18
Прокрутка memo в самый вверх.


15-1171735034
iNevil
2007-02-17 20:57
2007.03.18
BDS 2006 под Windows Vista


9-1144574516
ArtemESC
2006-04-09 13:21
2007.03.18
Открытые форматы моделей 3D...


15-1172418471
Dik59
2007-02-25 18:47
2007.03.18
Информация в БЛОБ-поле


2-1172170402
Torin2
2007-02-22 21:53
2007.03.18
недоступно меню




   Наверх