Delphi-Quellcode:
type
TMyClass1 = (a,b,c,d);
TMyClass2 = (e,f,g,h);
TMySet1 = set of TMyClass1;
TMySet2 = set of TMyClass2;
probiere das mal
Delphi-Quellcode:
type
TMyClass = (a,b,c,d, e,f,g,h);
TMySet = set of TMyClass;
const
Set1: TMySet = [a,b,c,d];
Set2: TMySet = [e,f,g,h];
var
Set: TMySet;
begin
if Set * Set1 <> [] then ;
end;
Statt also 2 Set zu deklarieren benutzt du nur eine gemeinsamme Menge als Gesamtmenge und dann rechnest du intern mit konstanten Intersections = Teilmengen. Das dürfte konzeptionell sauberer sein, auch performanter und zudem noch Speicher sparender
2 Sets mit 4 Elementen benötigen 2 * 1 Byte und pro Byte werden nur 2 Bits verbraucht -> 2^2 = 4. Bei einem Set mit 8 Elementen braucht man 3 Bits = 2^3 = 8 ergo nur 1 Byte Speicher.
Gruß Hagen